C读取txt文件Word文档格式.docx
- 文档编号:19545064
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:10
- 大小:34.14KB
C读取txt文件Word文档格式.docx
《C读取txt文件Word文档格式.docx》由会员分享,可在线阅读,更多相关《C读取txt文件Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
通常我们使用getline函数读取一整行,该函数接受一个输入流和一个string对象,函数从给定的输入流中读取内容,直到遇到换行符为止,然后将所读的内容存入到个string对象中。
另外,当函数为istream&
getline(istream&
is,string&
str,chardelim);
形式时,函数遇到delim也会停止。
2、使用文件流对象
当我们想要读入一个文件时,可以定义一个文件流对象,并将对象与文件相关联起来,每一个文件流类都定义了一个名为open的成员函数,完成一系列系统相关的操作。
open函数的原型为:
1.void
open
(const
char*
filename,
ios_base:
:
openmode
mode
=
out);
2.void
文件模式(mode)有一下几种:
1.ofstream
outfile("
E:
\\out.txt"
ofstream:
app);
上述代码打开out.txt文件,如果不存在,系统会创建此txt文件,并且定位到文件末尾。
打开的文件使用完成后一定要关闭,fstream提供了成员函数close()来完成此操作。
例:
从hello.txt文件中读取数据并写入到out.txt中
1.#include
"
stdafx.h"
2.#include
<
vector>
3.#include
string>
4.#include
fstream>
5.#include
iostream>
6.using
namespace
std;
7.int
_tmain(int
argc,
_TCHAR*
argv[])
8.{
9.
ifstream
myfile("
\\hello.txt"
);
10.
ofstream
11.
string
temp;
12.
if
(!
myfile.is_open())
13.
{
14.
cout
未成功打开文件"
endl;
15.
}
16.
while(getline(myfile,temp))
17.
18.
outfile<
19.
20.
myfile.close();
21.
return
0;
22.}
二、string流
string头文件定义了三个类型来支持内存IO,istringstream向string写入数据,ostringstream从string读取数据,stringstream既可从string读取数据也可向string写数据,就像string是一个IO流一样。
1、istringstream的用法
sstream>
//使用istringstream所需要的头文件
5.using
6.int
7.{
8.
str
I
am
a
boy"
;
istringstream
is(str);
s;
while
(is
>
s)
s
16.}
输出结果为:
I
am
a
boy
编写程序,将来自一个文件中的行保存在一个vector<
中,然后使用istringstream从vector读取数据元素,每次读取一个单词。
6.#include
7.using
8.int
9.{
vector<
vec;
vec.push_back(temp);
for
(auto
it
vec.begin();
!
vec.end();
it++)
22.
23.
*it
24.
25.
-----------------使用istringstream------------------------"
26.
27.
28.
29.
record(*it);
30.
31.
(record
32.
33.
34.
35.}
运行结果如图所示:
//下述论述转自dev-
,程序作者:
管宁
1.#i
nclude
2.#i
3.using
4.int
main()
5.{
6.
istr;
7.
istr.str("
1
56.7"
);
//上述两个过程可以简单写成
istr("
istr.str()<
int
a;
float
b;
istr>
cout<
a<
b<
system("
pause"
17.}
上例中,构造字符串流的时候,空格会成为字符串参数的内部分界,例子中对a,b对象的输入"
赋值"
操作证明了这一点,字符串的空格成为了整型数据与浮点型数据的分解点,利用分界获取的方法我们事实上完成了字符串到整型对象与浮点型对象的拆分转换过程。
str()成员函数的使用可以让istringstream对象返回一个string字符串(例如本例中的输出操作(cout<
istr.str();
)。
2、ostringstream的用法
ostringstream同样是由一个string对象构造而来,ostringstream类向一个string插入字符。
ostringstream的构造函数原形如下:
1.ostringstream:
ostringstream(string
3.#i
4.using
5.int
6.{
ostringstream
ostr;
//ostr.str("
abc"
//如果构造的时候设置了字符串参数,那么增长操作的时候不会从结
尾开始增加,而是修改原有数据,超出的部分增长
ostr.put('
d'
e'
ostr<
fg"
gstr
ostr.str();
gstr;
在上例代码中,我们通过put()或者左移操作符可以不断向ostr插入单个字符或者是字符串,通过str()函数返回增长过后的完整字符串数据,但值得注意的一点是,当构造的时候对象内已经存在字符串数据的时候,那么增长操作的时候不会从结尾开始增加,而是修改原有数据,超出的部分增长。
c++逐行读取写入txt文件的方法
2012-11-2317:
17
28404人阅读
评论
(1)
c++技术文章(14)
/*该程序从文件main.txt文件中着行读取字符存放在s中并打印s*/
#include<
usingnamespacestd;
voidmain()
{
ifstreamin("
main.txt"
strings;
while(getline(in,s))//着行读取数据并存于s中,直至数据全部读取
s.c_str()<
}
fstream提供了三个类,用来实现c++对文件的操作。
(文件的创建、读、写)。
ifstream--从已有的文件读
ofstream--向文件写内容
fstream-打开文件供读写
文件打开模式:
iOS:
in
读
ios:
out
写
app
从文件末尾开始写
binary
二进制模式
nocreate
打开一个文件时,如果文件不存在,不创建文件。
noreplace
打开一个文件时,如果文件不存在,创建该文件
trunc
打开一个文件,然后清空内容
ate
打开一个文件时,将位置移动到文件尾
文件指针位置在c++中的用法:
beg
文件头
end
文件尾
cur
当前位置
例子:
file.seekg(0,ios:
beg);
//让文件指针定位到文件开头
end);
//让文件指针定位到文件末尾
file.seekg(10,ios:
cur);
//让文件指针从当前位置向文件末方向移动10个字节
file.seekg(-10,ios:
//让文件指针从当前位置向文件开始方向移动10个字节
//让文件指针定位到离文件开头10个字节的位置
常用的错误判断方法:
good()
如果文件打开成功
bad()
打开文件时发生错误
eof()
到达文件尾
实例:
一、写入文件
#include<
ofstreamin;
in.open("
com.txt"
ios:
trunc);
//ios:
trunc表示在打开文件前将文件清空,由于是写入,文件不存在则创建
inti;
chara='
a'
for(i=1;
i<
=26;
i++)//将26个数字及英文字母写入文件
if(i<
10)
in<
0"
\t"
\n"
a++;
else
in.close();
//关闭文件
打开com.txt,效果如下:
二、读取文件
上面仅仅是将文本写入文件,并没有读取出来。
以下为读取文件的一种方法:
将文件每行内容存储到字符串中,再输出字符串
charbuffer[256];
fstreamout;
out.open("
in);
的内容如下:
while(!
out.eof())
out.getline(buffer,256,'
\n'
//getline(char*,int,char)表示该行字符达到256个或遇到换行就结束
buffer<
out.close();
cin.get();
//cin.get()是用来读取回车键的,如果没这一行,输出的结果一闪就消失了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 读取 txt 文件