宏的一些用法
#操作符
例如
#define str(x) #x
如果在程序中输入语句
str(testing)
最终展开形式将会是
"testing"
##操作符
例如
#define printx(n) printf("%d/n", x##n)
语句中的字符串“x##n”的##操作符将前面和后面的记号连接起来,合成一个新的记号
printf(20);
将被展开成如下形式:
printf("%d/n",f20);
...与__VA_ARGS__
例如
#define debugPrintf(...) printf("DEBUG: "__VA_ARGS__)
用rand产生随机数
srand( (unsigned)time( NULL ) );
rand()%MAX
C++方式文件读写(read,write方式)
- ifstream file;
- char tmp[1024];
- std::string filecontent;
- file.open(filename,ios::in|ios::binary);
- if(!file.is_open())return -1;
- while(!file.eof()){
- int n=file.read(tmp,1024);
- filecontent.append(tmp, file.gcount());
- }
- file.close();
C方式文件读写(fread,fwrite方式)
- FILE* f=fopen("test.dat","rb");
- std::string filebuf;
- char buf[1024];
- while (!feof(f))
- {
- int r=fread(buf,1,1024,f);//每次读一字节,读1024次,返回实际读取字节数
- filebuf.append(buf,r);
- }
- fclose(f);