c語言 讀取多行文字問題,如何用c語言讀取文字檔案中的多行資料

2022-03-15 16:34:11 字數 2895 閱讀 5950

1樓:千鋒教育

1、用fgets函式可以讀取檔案中某行的資料,某列資料就必須一個一個讀入每行的第幾個字元,再存入到一個字串當中。

2、例程:

#include

#include

void main()

b[k]=0;

printf("第%d行資料:%s\n",i,a);

printf("第%d列資料:%s\n",j,b);

fclose(fp);}

2樓:

feof(p) 應當在讀語句後測定,也就是:

讀,測定,如果不是eof則輸出。

你現在的次序是:

測定,讀,輸出,回到測定。

所以讀到eof,你重複輸出了最後一次成功讀入的內容。

------------

簡單修改:

if ( fgets(ch,sizeof(ch),p)==null) break;

3樓:鐵淑敏寧丙

很簡單,因為您的文字的最後一行之後還有一個新航,即最後一行內容並不是"ab",而是空,即'"ab"的下一行,需要改正**如下即可

while(!feof(p))

//檢測指標是否到了檔案尾

如何用c語言讀取文字檔案中的多行資料

4樓:匿名使用者

1、用fgets函式可以讀取檔案中某行的資料,某列資料就必須一個一個讀入每行的第幾個字元,再存入到一個字串當中。

2、例程:

#include

#include

void main()

b[k]=0;

printf("第%d行資料:%s\n",i,a);

printf("第%d列資料:%s\n",j,b);

fclose(fp);}

5樓:匿名使用者

for(string str; getline(in,str);)

out<

這個就可以了,當找不到可以讀入的資料時,第二個條件會自動返回假,並結束迴圈。

6樓:匿名使用者

肯定是結構體啊,

你定義一個這樣的結構體有5個整形資料的結構體,這樣你寫入檔案的時候就這樣寫,讀的時候也一次可以讀5個。

7樓:匿名使用者

用迴圈存入陣列比較簡單。

查下api有函式可以一行一行的讀寫的。

比如getline 先儲存到一個字串陣列中。

然後再處理

c語言用fgets()從檔案讀取多行字元時出現的問題

8樓:行桂花駱辰

fgets函式每次讀取一行,如果讀取的資料存入陣列s中,那麼s[0]為『2』

那麼s[1]為『3』

那麼s[2]為『4』

那麼s[3]為空格

那麼s[4]s[5]為小字編碼

9樓:

**沒問題,一般不可能!可能是l+1剛好是一行長度,那\n前的字元被讀進ins,接著向posts中就只能讀一個\n了。但絕不會有兩個\n。

因為fgets讀到一個\n就認為這一行讀完了!

10樓:我說我是曹阿瞞怕你不信

我來回答一下這個問題吧,其實之前二位得走進了一個誤區,就是想著讀取一行的個數然後控制fgets函式的第二個引數來讀。其實這是沒有必要的,我們可以隨意指定一個合理的數,比如說5,3,10等都可以。我們只要不斷地向流拿資料然後原樣輸出就可以了。

只要別在輸出函式中加一些其他多餘的東西我們就可以將一行分多次讀取,同時行與行之間的\n也是一樣的需要注意的是我們輸出時要用fgets函式的返回值,而不是緩衝區

c語言讀取txt檔案多行資料

11樓:風若遠去何人留

二維陣列只能存放相同資料型別.

你這個明顯是兩個域的, 所以 前面讀到一個字元中, 後面讀到一個二維陣列中比較好.

比如 可以這樣

char s1[100];

char s2[100][10];

int i=0;

while(!feof(fp))

12樓:ru惡魔獵手

#include

#define max_line 1024 //每行最大位元組數

int main()

while (!feof(fp)) //迴圈讀取每一行,直到檔案尾

fclose(fp); //關閉檔案printf("\n");

return 0;

}用一維陣列存的,如果需要用二維陣列則用製表符『\t』拆分就好了。

c語言 關於迴圈讀取多行檔案的問題

13樓:匿名使用者

這段程式應該是存在問題的,在第一個while迴圈裡你開啟了檔案b.txt,退出迴圈前已經關閉,即在第二個while迴圈的時候,b.txt檔案是關閉的,所以

=eof )這句**會出錯,可以這樣

fpb = fopen("b.txt","r");

=eof )

{}這其實是重新開啟了檔案b.txt,自然資料指標是在檔案首的

c語言如何讀取多行txt檔案?

14樓:匿名使用者

單行讀取,讀取多次就行了,每次讀取完寫入test1後再追加寫入一個\n

如何用c語言編譯出我愛你字,如何用c語言編譯出我愛你三個字

include int main 不是怎麼編輯,而是你想讓這三個字如何去呈現 include stdio.h main 如何用c程式編寫某某我愛你 include include int main else printf n你是sb n return 0 為什麼放棄 我愛你 怎麼用c語言表示 呵 一...

如何用c語言建立新檔案,如何用C語言建立一個新檔案

函式名 mkdir 功 能 建立一個目錄 資料夾 用 法 int mkdir char pathname 程式例 在win tc和dev c 下執行通過 include include include int main void c語言可以通過fopen函式建立一個新檔案。細節如下 使用fopen需...

求助C語言讀檔案的問題,C語言,不能讀取檔案中的內容

1.不能執行,提示什麼問題?是否有單步除錯?2.不全,不好分析 3.在while中,s 已經改變了s指標的位置,最後 return s存在風險,應該不是你設計的意思 s 如果要出問題就是這一句了,我想你的意思是這是一個字元陣列吧,但是你把起始指標都移位了,怎麼保證程式執行的準確性?形參必須s定義為陣...