C语言读取文件总是读出乱码
文本文件内容:
User Login
User Login
User Login
读取程序:
FILE *file = fopen("a.txt", "r");
if (file == NULL) return 0;
fseek(file, 0L, SEEK_END);
int fileLength = ftell(file); //此处读出为34,User Login长度10,第一第二2行的/r/n即回车换行总共4.第三行没有换行回车。
if (fileLength == 0) return 0;
fseek(file, 0L, SEEK_SET);
char buf[1024];
fread(buf, sizeof(char), fileLength, file);
buf[fileLength] = '\0';
printf("%s", buf);
打印出来后变成:
User Login
User Login
User Login烫
多了一个字节。这怎么回事?
User Login
User Login
User Login
读取程序:
FILE *file = fopen("a.txt", "r");
if (file == NULL) return 0;
fseek(file, 0L, SEEK_END);
int fileLength = ftell(file); //此处读出为34,User Login长度10,第一第二2行的/r/n即回车换行总共4.第三行没有换行回车。
if (fileLength == 0) return 0;
fseek(file, 0L, SEEK_SET);
char buf[1024];
fread(buf, sizeof(char), fileLength, file);
buf[fileLength] = '\0';
printf("%s", buf);
打印出来后变成:
User Login
User Login
User Login烫
多了一个字节。这怎么回事?
...全文


