天水(不会编程)l 2024-03-18 14:50 采纳率: 84.6%
浏览 5
已结题

如何从纯数字文件中提取数字出来并把它转化为int型

将数字用fprintf写入文件后,再次读取(使用fgets)得到的总是一个字符数组,我要怎么样才能把它转化为int

  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-03-18 14:51
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    要将读取到的字符串转换为int类型,可以使用库函数atoi(),它将字符串转换为整型数。 例如,假设我们将数字1234写入文件中,代码示例:
    #include <stdio.h>
    #include <stdlib.h>
    int main() {
      int num = 1234;
      FILE* fp;
      fp = fopen("test.txt", "w");
      fprintf(fp, "%d", num);
      fclose(fp);
      fp = fopen("test.txt", "r");
      char str[255];
      fgets(str, 255, fp);
      int read_num = atoi(str);
      printf("The read number is %d\n", read_num);
      fclose(fp);
      return 0;
    }
    

    运行结果为:

    The read number is 1234
    

    注意,如果读取的字符串不是整数,将会转换为0。因此,在使用atoi()时,需要保证读取的字符串是能够正确转换为整数的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月18日
  • 创建了问题 3月18日