我是C的新手,正在尝试读取一个.txt文件。我在用一台windows 10的机器。我已经创建了文件,正在尝试阅读它。我将在下面分享我的所有代码。
int main()
{
char firstline[255];
FILE * fpointer = fopen("klinks.txt", "r");
fgets(firstline, 255, fpointer);
printf("%s", firstline);
fclose(fpointer);
return 0;
}
下面是控制台终端上显示的消息。我不知道为什么。
h┐
Process returned 0 (0x0) execution time : 0.026 s
Press any key to continue.
它找不到文件,fgets
调用也不做任何事情,输出只是firstline
字符串中的默认垃圾。创建文件时,程序会正常工作。
还要在fopen
调用之后添加一个null检查。
您需要检查fOpen((函数返回的文件描述符的值,以确保系统调用没有失败。
尝试使用fread:fread读取原始数据——它将在指定(或默认(字节数后停止,与可能存在或不存在的任何换行符无关。
你可能想检查一下:fgets((和fread((有什么区别?