最近临时接到项目,加紧学习了一下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
今天的小程序学习就到这里啦~~