按照行来读 1 按照字符串来读 2
FILE *fp;
fp = fopen("test.cfg", "r");
1
//如果是按照行来读
char buffer[200];
//fscanf()中的format格式为"%[^\n]%*[\n]",取回车之前的内容到变量,并且将空格取走
while(fscanf(fp,"%[^\n]%*[\n]",buffer)!=EOF);//如果没有加%*[\n]会一直打印之前的buffer值,陷入死循环
printf("%s\n",buffer);
fseek(fp,0,SEEK_SET);
2
//如果是按照每个字符串来读
//EOF 为fscanf函数返回错误值 如果读到文件的结尾就会返回此类型
**//%s读取字符串遇到空格为止,并且会将之后的空格也取走直到不为空格为止,并且每一行的回车也会取走 所以不需要跳过回车,C语言会自动跳过,只要记住如果文件中有数据并且读取没有出现错误,那么不管空格有多少位置在哪里,只要fscanf成功执行了,那么变量就会有字符串数据,不会是空字符串**
while(fscanf(fp,"%s",buffer) != EOF)
printf("%s\n",buffer);