1. 程式人生 > >C++ 實現txt檔案的讀取

C++ 實現txt檔案的讀取

最近臨時接到專案,加緊學習了一下C++,只是簡單的檔案的讀取就弄了好久的說~~

現在特意分享一下,希望對小夥伴們會有幫助喔~~

1.

實現txt檔案的讀入並重寫入另外一個txt檔案中~

#include<fstream>  //ifstream
#include<iostream>
#include<string>     //包含getline()
#include<cmath>
using namespace std;


int main(){


string s;


ifstream inf;
inf.open("d://in.txt");          //特別注意,這裡是://  是雙斜槓喔~~     ifstream inf("d://out.txt");用這一句可以代替這兩句喔,很簡單有木有~~




//開啟輸出檔案
ofstream outf;
outf.open("d://out.txt");




while (getline(inf, s))      //getline(inf,s)是逐行讀取inf中的檔案資訊

      {
outf << s << '\n';               
cout << s << endl << endl;           
}                            





inf.close();
outf.close();
return 0;
}

2.讀取txt檔案,檔案內容為

逐行讀取,並且將每行的字母和數字分給不同的字串s1,s2,s3,s4


程式如下

 #include <stdio.h>
#include <iostream>
#include<string>
#include<fstream>
#include<sstream>
using namespace std;


int main()
{
ifstream inf;
inf.open("d://out.txt");


string sline;//每一行
string out;
string s1,s2,s3,s4;


while(getline(inf,sline))
{
istringstream sin(sline);
sin>>s1>>s2>>s3>>s4;
cout<<s1<<" "<<s2<<" "<<s3<<" "<<s4<<" "<<"\n";

}


}

3.

c_str在開啟檔案時的用處:
當需要開啟一個由使用者自己輸入檔名的檔案時,可以這樣寫:ifstream in(st.c_str());。其中st是string型別,存放的即為使用者輸入的檔名。

4.對於istringstream 的用法的學習

istringstream物件可以繫結一行字串,然後以空格為分隔符把該行分隔開來。

http://blog.csdn.net/xiayang05/article/details/5933893(這裡寫的會比較明確一點,我就不詳述啦~~)


5.對於getline函式的理解,猛戳這裡!!!前輩的經驗呀~~http://blog.csdn.net/yelbosh/article/details/7483521

對於C++實現檔案的讀取是很有內涵的喔,這是一些基本的,因為是準備讀取3D網格模型,所以才這樣練習的~~大家想詳細學習的可以參照

http://www.cnblogs.com/azraelly/archive/2012/04/14/2446914.html

http://www.cnblogs.com/ifeiyun/articles/1573134.html

今天的小程式學習就到這裡啦~~