藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月6日 10:18


c中如何對文件進行一行行的處理?

我的文件有很多行,我想把某一行的內容讀入一個字符竄怎麼做,
問題是c中連字符竄類型都沒有,fwrite和fread好像都不是針對行的,
並且怎麼循環把一行行的記錄全部讀出來,好像也沒有eof函數判斷,文件到了
最後一行,實在麻煩啊?

c中如何對文件進行一行行的處理?

使用fgets()函數可以得到一行數據,循環調用此函數就可以一行一行的讀入文件中的數據。當讀到空時,文件就結束了。

c中如何對文件進行一行行的處理?

fp=fopen(const char * pathname,mode_t mode);
while(fgets(char * buf,size_t size,FILE *fp));
man man man !! :D

c中如何對文件進行一行行的處理?

使用fgets()函數

c中如何對文件進行一行行的處理?

問題是我的行長度不定啊

c中如何對文件進行一行行的處理?

你把size定義到你行長度一般不可能達到的數字就行了。
比如我一般用200。

c中如何對文件進行一行行的處理?

是的,fgets如果想一下子讀完一行的話,的確要估計一下一行的最大字符數

c中如何對文件進行一行行的處理?

一般的fget(1024)應該足夠了,我便是這麼使用

c中如何對文件進行一行行的處理?

如果不放心,你老人家就一個一個讀吧,自己控制行結束
fgetc

c中如何對文件進行一行行的處理?

呵呵,流氓的辦法更可靠~

c中如何對文件進行一行行的處理?

xiexie

c中如何對文件進行一行行的處理?

:)

c中如何對文件進行一行行的處理?

讀字符判斷『\n』好不好?

c中如何對文件進行一行行的處理?

c中如何對文件進行一行行的處理?

在UNIX上面應該是\n\r吧。

c中如何對文件進行一行行的處理?

若使用fgetc來一個一個判斷字符的話,需要考慮到dos/windows下和unix下面的存儲方式是不同的。在dos/windows下回車換行是\x13\x10,在unix下面回車換行是\x10。所以若要簡單的方法,還是用藍色版主的方法,就無需考慮到文件格式了。

c中如何對文件進行一行行的處理?

我有一個建議,可以用流操作呀,以下代碼是打開一個文件,並判斷此文件中有多少個英文單詞(要考慮空格的)
[code]
#include <string>;
#include <fstream>;
#include <iostream>;
using namespace std;

int main()
{
        ifstream fin("mytest.txt");
       int i;
        char word[512];
            int count = 0;

        while(!fin.eof())
        {
                fin.getline(word, 512);
                    for(i = 0; word[i] != '\0'; i++)
                    {
                               if((word[i] != ' ' ) && ((word[i + 1] == ' ') || (word[ i + 1] == '\0')))
                                count++;
                    }
        }
            cout << "The word number is: " << count;
            cout << endl;
}
[/code]
這樣得到那些字符後,再寫成一個串不就不成問題了。

c中如何對文件進行一行行的處理?

循環fgets,直到讀入了'\n'。

c中如何對文件進行一行行的處理?

用流操作,cin.getline(buf); 哈哈……



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com