宏的一些用法
#操作符
例如
#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);