gpt4 book ai didi

c - fscanf 读取和保存

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:25 24 4
gpt4 key购买 nike

我对在 C 中使用文件一无所知,我正在尝试读取包含此数据的文件

050     1100               051     5100100     0005  

and save the numbers into constants like this:

PC   cod  IR      
\/ \/ \/

050 --- 1 ---- 200
051 --- 5 ---- 100

   Mem[PC]
\/

100 - 0005

问题是我不知道该怎么做。我只有从一本书中读到的这段代码,它读取我的文件并将第一个数据保存到字符缓冲区,或者至少我认为它是这样做的,但它不会继续处理其余数据。

#include <stdio.h>    
int main(int argc, char **argv)
{
FILE *fp;
char buffer[100];

fp = fopen("prueba.txt", "r");
fscanf(fp, "%s", buffer);
printf("%s", buffer);
fclose(fp);

return 0;
}

这是 prueba.txt 的内容:

050     1100               051     5100100     0005  

有人可以帮帮我吗?

最佳答案

首先,忘记您是否听说过fscanf。这带来的麻烦远远超过它的值(value)。

其次,我不知道“将数字保存到常量中”是什么意思,但是一般,在 C 中执行此类操作的正确方法是逐行读取符合 fgets (或 getline 如果有)然后使用 strsep 从行中提取单个数字和 strtoul .

第三,从风格上讲,只有一件事比在括号内放置空格更糟糕,那就是不一致在括号和逗号内和/或周围放置空格。你会让下一个必须阅读这段代码的人头疼。

关于c - fscanf 读取和保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com