如何将文本一行一行地写入文本文件中?

semitone 2003-11-03 11:02:34
怎么才能在文件中一行一行地写,一行一行地读?如何用FileWrite将回车符写入文件中?
...全文
540 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
appletreestudio 2003-11-04
  • 打赏
  • 举报
回复
使用fprintf和fscanf读写一段数据
写回车键应注意
打开方式最好不要二进制
fp=fopen(filename,"w");
fputc(fp,'\n');
就可以
yhz 2003-11-04
  • 打赏
  • 举报
回复
哦,搞错了,应该是
ofstream out;

out.open("C:\\abc.txt", ios::out);

out << str << endl; //写入一行

out.close();
yhz 2003-11-04
  • 打赏
  • 举报
回复
应该是 open,全部小写的。不过 getline 是读取文件。

如果要写入文件的话,就用 cout << str << endl 就可以了。
andy_qhz 2003-11-04
  • 打赏
  • 举报
回复
void ReadData(AnsiString sFileName)
{
ifstream in;
char buf[1024];
in.open(sFileName.c_str(),ios::binary);
while(!in.eof() )
{
in.getline(buf,sizeof(buf));
if (strlen(buf) == 0) continue;//如果空行就不读
}
in.close();
}
andy_qhz 2003-11-04
  • 打赏
  • 举报
回复
sorry,我直接写的,没调试,估计是大小写问题,你好好调下吧
semitone 2003-11-04
  • 打赏
  • 举报
回复
谢谢各位的帮助。
to andy_qhz(老邱):我试了,但系统报错:"E2316:Open is not a member of ifstream"。不知为何?我看了帮助文件,但没看明白。我是菜鸟,请高手多多指点。
andy_qhz 2003-11-04
  • 打赏
  • 举报
回复
要将“回车符写入文件”通常要二进制模式,我用流给你简单描述下:

#include <fstream.h>

void ReadData(AnsiString sFileName)
{
ifstream in;
char buf[1024];
in.Open(sFileName.c_str(),ios::binary)
while(!in.eof())
{
in.getline(buf,sizeof(buf));
if (strlen(buf) == 0) continue;//如果空行就不读
}
in.Close();
}

写数据的思路一样,我就不写了
swites 2003-11-04
  • 打赏
  • 举报
回复
GaoLun(★米老鼠★) 说的比较直观
Cocoky 2003-11-04
  • 打赏
  • 举报
回复
agree!
GaoLun 2003-11-04
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList * FileStr = new TStringList();
FileStr->LoadFromFile("aa.txt");

for(int i=0;i<FileStr->Count;i++)
{

//抽取一行
//AnsiString t1=FileStr->Strings[i];
//拆分有空格得一行
ShowMessage(FileStr->Strings[i]);
}

}
weibz0525 2003-11-04
  • 打赏
  • 举报
回复
c函数得fscanf和fwrite也可以
chifengwatch 2003-11-03
  • 打赏
  • 举报
回复
:)
同意楼上
pp616 2003-11-03
  • 打赏
  • 举报
回复
TStringList::SaveToFile

TStringList::LoadFromFile

很方便。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧