我无法在c中读取.txt文件.我正在使用代码块.在使用fgets并尝试打印出行之前,我首先为行创建了一个数组

  • 本文关键字:创建 一个 数组 读取 txt 文件 打印 fgets 代码 c
  • 更新时间 :
  • 英文 :


我是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((有什么区别?