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
今天的小程式學習就到這裡啦~~