一行一行讀入文字檔案
阿新 • • 發佈:2019-02-09
下面是一個例子,它讀入Autoexec.bat的第一行。
#include <stdio.h>#include <stdlib.h>main(){FILE * fp;char s[256];if((fp = fopen("c://autoexec.bat", "r")) == NULL){printf("Can't open file/n");return;}fgets(s, 256, fp);printf("Line1 : %s/n", s);fclose(fp);}
//檔案流和string的結合是最佳的:#include <iostream>#include <fstream>#include <strstream> #include <string>using namespace std;int main(){string line;ifstream input("input.txt",ios::in);strstream temp;while(1){getline(input,line);if(input.eof()) break;//一行資料已經存入line中,可以對其進行處理,此處只是將其輸出cout << line << endl;}input.close();return 0;}
使用get( )和put( )
#include <fstream.h>
void main()
{
fstream File("test_file.txt",ios::out | ios::in | ios::binary);
char ch;
ch='o';
File.put(ch); // 將ch的內容寫入檔案
File.seekg(ios::beg); // 定位至檔案首部
File.get(ch); // 讀出一個字元
cout << ch << endl; // 將其顯示在螢幕上
File.close();
}
使用read( )和write( )
#include <fstream.h>
#include <string.h>
void main()
{
fstream File("test_file.txt",ios::out | ios::in | ios::binary);
File.write(arr,5); // 將前5個字元——"Hello"寫入檔案
File.seekg(ios::beg); // 定位至檔案首部
static char read_array[100000],readOne[1]; // 在此我將打算讀出些資料
int i = 0;
do
{
File.read(readOne,1); // 讀出1個字元
if(readOne[0]=='s')
{
...
}
i++;
}
File.close();
}
#include <stdio.h>#include <stdlib.h>main(){FILE * fp;char s[256];if((fp = fopen("c://autoexec.bat", "r")) == NULL){printf("Can't open file/n");return;}fgets(s, 256, fp);printf("Line1 : %s/n", s);fclose(fp);}
//檔案流和string的結合是最佳的:#include <iostream>#include <fstream>#include <strstream>
使用get( )和put( )
#include <fstream.h>
void main()
{
fstream File("test_file.txt",ios::out | ios::in | ios::binary);
char ch;
ch='o';
File.put(ch); // 將ch的內容寫入檔案
File.seekg(ios::beg); // 定位至檔案首部
File.get(ch); // 讀出一個字元
cout << ch << endl; // 將其顯示在螢幕上
File.close();
}
使用read( )和write( )
#include <fstream.h>
#include <string.h>
void main()
{
fstream File("test_file.txt",ios::out | ios::in | ios::binary);
File.write(arr,5); // 將前5個字元——"Hello"寫入檔案
File.seekg(ios::beg); // 定位至檔案首部
static char read_array[100000],readOne[1]; // 在此我將打算讀出些資料
int i = 0;
do
{
File.read(readOne,1); // 讀出1個字元
if(readOne[0]=='s')
{
...
}
i++;
}
File.close();
}