易截截图软件、单文件、免安装、纯绿色、仅160KB

C遗留的结构跳转 北海

1)          goto
goto 只能在一个函数内跳转。建议少用,使得程序维护起来容易出错;但是,在有多个循环情况下跳转,有时用goto可以使得问题变得简单。
class A
{
public:
A(){}
~A(){}
};
              int main()
{
{
              A a;
              goto Label1;
}
Label1:
cout<<”end”<<endl;
return 0;
}    
 
2)          setjmp/longjmp
非局部域跳转(nonlocal goto),可用于在不同函数内跳转,步骤如下:
l         include <setjmp.h>
l         jmp_buf JumpBuffer
//跳转的位置结构
l         setjmp(JumpBuffer)
保存当前的位置,将来跳转到这里
l         longjmp(JumpBuffer, 整数)
 
              jmp_buffer jmpbuf;
              void Func()
{
cout << “ get in “ <<endl;
A a;
longjmp(jmpbuf, 1);
cout << “ never get here “<<endl;
}
              int main()
{
cout << “ get in main “ <<endl
if( setjmp (jmpbuf ) == 0 )
{
cout<<”set lable”<<endl;
Func();
}
                    else
{
       cout<<” jmp to here”<<endl;
}
}


相关文档:

linux常用c函数 文件权限控制篇

access(判断是否具有存取文件的权限)
  相关函数  stat,open,chmod,chown,setuid,setgid
  表头文件  #include<unistd.h>
  定义函数  int access(const char * pathname,int mode);
  函数说明  access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合,R_OK ......

c和java中的二进制文件


最近需要写一段程序,完成以下的工作,用java将数据以二进制的形式写入文件中,然后用C读出此二进制文件。
开始的时候没有考虑机器的字节序,直接搞出segment fault.想了很久,才明白原来是java和C的字节序是不一样的。
java中的字节序是big endian的,它是与机器无关的。而c的字机序是机器相关的,而当前用的机器是x84 ......

用c实现背包问题(贪心)

好久以前做的一个程序,贪心策略实现背包问题,c实现。
总结在这里,以备以后和别人查找。
//背包问题
#include "stdio.h"
#define MAX 10
void main()
{
 int w[MAX]={0,10,130,15,60,25};      //存放质量
 int v[MAX]={0,30,5,10,20,25};   //存放价值
 flo ......

20100531 《C陷阱与缺陷》第三章读书笔记

  今天是5月的最后一天了,2010年的5月,倒霉的一个月终于要过去了。今天抽空我又读完了第三章,顺便做下笔记。
  这一章的题目叫做---语义“陷阱”
  程序也有可能表面看上去是一个意思,实际上的意思却相去甚远。
  对于数组:
  C语言中只有一维数组, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号