用C++处理文本文件中数据

 我来答
寻玉花杭书
2020-04-20 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1244万
展开全部
网络上大部分读取文本文件中单行数据的做法如下,
ifstream
inFile;//(sFileName.c_str(),std::ios::in);
inFile.open(sFileName.c_str(),ios::in|ios::binary);
if
(inFile.fail())
{
fprintf(stderr,"file
%s
open
error!\n",sFileName.c_str());
return
false;
}
do
{
std::string
sLine;
std::getline(inFile,sLine);
fprintf(stdout,"%s\n",sLine.c_str());
}
while
(!inFile.eof());

vs2005
中这段代码对路径中包含中文的文件总是inFile.fail()返回,需要在程序运行的时候加上
setlocale
(LC_ALL,"Chinese-simplified");
更直接的做法是使用c语言的fgets,读取文件中单行遇到\n的时候返回
FILE
*fp
=
fopen("main.cpp","rb");
if
(NULL
!=
fp)
{
char
szLine[256]
=
{0};
//一行数据
while(fgets(szLine,256,fp))
//最大读取256字节,但是遇到\n时候fgets返回,这是szLine中保存的正好是一行的数据
{
cout
<<
szLine
<<endl;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式