c/c++语言开发共享读取文件时出现段错误

我想阅读整个文件内容并将其打印出来,但我得到一个段错误,我找不到代码有什么问题…

#include  #include  int main() { FILE * file; long fsize; file = fopen("./input.txt","r"); if(file != NULL){ //get file size fseek(file,0,SEEK_END); fsize = ftell(file); rewind(file); // print char * file_content; fgets(file_content,fsize,file); puts(file_content); } else{ printf("open failuren"); } fclose(file); return 0; } 

    传递给fgetsfile_content )的指针未初始化。 它应该指向一个足够大的内存块,以包含指定的字节数( fsize )。 您可以使用malloc来分配内存。

     char* file_content = (char*)malloc(fsize); 

    char * file_content只是一个指针,需要分配内存来存储字符串。

     char * file_content; file_content = malloc(fsize); 

    “..但我得到一个段故障”

    显然是因为你试图写入未初始化的file_content

    使用前为file_content分配内存

     char * file_content =malloc(fsize); 

      以上就是c/c++开发分享读取文件时出现段错误相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/549683.html

      (0)
      上一篇 2021年1月14日
      下一篇 2021年1月14日

      精彩推荐