如何利用C C 逐行讀取txt檔案中的字串

2021-10-05 05:09:08 字數 1701 閱讀 1985

本文**都在windows/vc++6.0下測試過, 在linux/g++下也沒有問題。 

但是請一定注意linux和windows檔案格式的區別,比如:

1. 當linux上的**讀取windows檔案格式時, 讀取結果的每行都會多乙個\r, 想想為什麼。

2. 當windows上的**讀取linux格式檔案時, 讀取的結果會顯示只有一行, 想想為什麼。

先用c語言寫乙個醜陋的程式:

#include

#include

intmain()

char ch;

while

(eof

!=(ch=

fgetc

(fp)))

fclose

(fp)

;return0;

}

你只能看到結果,卻沒法利用每一行。 我們來改為:
// vc++6.0

#include

#include

intmain()

;int len =0;

file *fp =

fopen

("1.txt"

,"r");

if(null

== fp)

while(!

feof

(fp)

)fclose

(fp)

;printf

("\n");

return0;

}

這樣, 我們就是整行讀取了。

感覺c的讀取方法有點醜陋,還是看看c++吧(只要檔案格式windows/linux和編譯平台windows/linux對應一致, 就放心用吧):

#include

#include

#include

using namespace std;

intmain()

}else

// 沒有該檔案

return0;

}

當然,你可以對上述程式進行修改,讓1.txt中的每一行輸入到2.txt中,如下:
#include

#include

#include

using namespace std;

intmain()

}else

// 沒有該檔案

return0;

}

結果, 2.txt和1.txt中的內容完全一致,你可以用beyond compare比較一下,我比較過了。

看來上述程式還能實現檔案的複製呢,如下:

#include

#include

#include

using namespace std;

void

filecopy

(char

*file1,

char

*file2)

}int

main()

當然了,上述程式只能針對文字檔案(不僅僅是.txt),對其它型別的檔案,不適合。

Python從txt檔案中逐行讀取資料

coding utf 8 import os for line in open samples label val.txt print line line,end 後面跟 end 將忽略換行符 line samples images 3 3 5460e99f0ca9c410960571e02a0d2...

PHP逐行讀取txt檔案的方法例項

header content type text html charset utf 8 function readtxt fclose handle foreach readtxt as key value file path 0910.txt if file exists file path 最原...

python逐行讀取txt檔案時出現多餘空行的問題

這幾天做程式作業的時候需要用python的讀取檔案功能,在我用readlines 函式做逐行讀取的時候遇到了乙個小問題,在這裡和大家分享一下。txt檔案裡的內容是這樣的 1 1 2 23 3 4 45 5 也沒什麼問題 1 with open 001.txt r as f 2 lines f.rea...