本文代码都在Windows/VC++6.0下测试过, 在linux/g++下也没有问题。
但是请一定注意linux和Windows文件格式的区别,比如:
1. 当linux上的代码读取Windows文件格式时, 读取结果的每行都会多一个\r, 想想为什么。
2. 当Windows上的代码读取linux格式文件时, 读取的结果会显示只有一行, 想想为什么。
先用C语言写一个丑陋的程序:
#include
#include
int main()
{
FILE *fp;
if(NULL == (fp = fopen("1.txt", "r")))
{
printf("error\n");
exit(1);
}
char ch;
while(EOF != (ch=fgetc(fp)))
{
printf("%c", ch);
}
fclose(fp);
return 0;
}
你只能看到结果,却没法利用每一行。 我们来改为:
// VC++6.0
#include
#include
int main()
{
char szTest[1000] = {0};
int len = 0;
FILE *f