将数字用fprintf写入文件后,再次读取(使用fgets)得到的总是一个字符数组,我要怎么样才能把它转化为int
4条回答 默认 最新
关注让阿豪来帮你解答,本回答参考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()时,需要保证读取的字符串是能够正确转换为整数的。
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用