从C中的文本文件读取数据时出现段错误

时间:2019-10-08 15:55:35

标签: c file segmentation-fault

我正在尝试从文本文件中获取信息并读入,在我的主机中,我获取了文件长度(以字节为单位)以及文件名以确保它存在,并将其传递给这种方法。

我那里有一些测试代码来查看问题的出处,但我似乎看不到seg错误的出处,fgetc返回值与其存储的值匹配,这是我唯一想到的

uint32 getCode(char *fileA, int count){
   //creating variables to store the data we are reading in
   int buffer = 0;
   register uint64 total = 0;

   //opening with rb ensures that all file types will be readable
   FILE *file;
   if(file= fopen(fileA, "rb")){
      printf("\nfilename: %s\ncount: %d\n",fileA,count);
   }
   // while loop reading in 32 bits at a time or 4 bytes
   while(count > 0){
      buffer = fgetc(file);
      count--;
      printf("\n%s", buffer);
   }

   fclose(file);
   return 1;
}

1 个答案:

答案 0 :(得分:0)

分段错误来自@Query( """ SELECT * FROM person_table; """ ) fun getAllPersonsWithCars(): LiveData<List<PersonWithCarsPojo>> -您的printf("\n%s", buffer);不是字符串,使用格式buffer可以打印出更好的结果

是的,注释'%c'有点误导,因为您一次读取1个字节。