fscanf读取和保存
我不知道如何在C中使用文件,我正试图读取一个包含这些数据的文件 050 1100 051 5100 100 0005 050-1-200 051-5-100fscanf读取和保存,c,file,C,File,我不知道如何在C中使用文件,我正试图读取一个包含这些数据的文件 050 1100 051 5100 100 0005 050-1-200 051-5-100 Mem[PC] \/ 100-0005 问题是我不知道怎么做。我只从一本书中读到了这段代码,它读取我的文件并将第一个数据保存到一个char缓冲区,或者至少我认为它是这样做的,但它不会继续处理其余的数据 包括 int main argc,字符**argv { 文件*fp;
Mem[PC]
\/
100-0005
问题是我不知道怎么做。我只从一本书中读到了这段代码,它读取我的文件并将第一个数据保存到一个char缓冲区,或者至少我认为它是这样做的,但它不会继续处理其余的数据
包括
int main argc,字符**argv
{
文件*fp;
字符缓冲区[100];
fp=fopenprueba.txt,r;
fscanffp,%s,缓冲区;
printf%s,缓冲区;
fclosefp;
返回0;
}
这是prueba.txt的内容:
有人能帮我吗?您现在正在做的只是读取一个单词,您使用fscanf读取,使用%s读取它看到的第一个字符串 如果要读取文件中的所有单词,必须按如下方式循环:
PC cod IR
\/ \/ \/
while(feof(fp)==0){
fscanf(fp,"%s",buffer);
*** Do what every action you want to do with your buffer here ***
}
首先,忘了你听说过fscanf。这是远远超过它的价值麻烦 其次,我不知道将数字保存为常量是什么意思,但一般来说,在C中执行此类操作的正确方法是使用或逐行读取,然后使用and从行中提取单个数字 第三,从风格上讲,只有一件事比在括号内加空格更糟糕,那就是在括号内和/或括号周围加空格和逗号。你会让下一个必须阅读此代码的人头疼。while!feoffp{read;process;}是一种反模式,因为feof只有在尝试读取文件末尾之后才变为真,而不是仅在到达文件末尾时变为真。因此,您将得到一个失败的读取操作,而代码不准备处理该操作。
while(feof(fp)==0){
fscanf(fp,"%s",buffer);
*** Do what every action you want to do with your buffer here ***
}