c++的输入输出流

shawzg 2009-10-30 08:51:55
#include<iostream.h>
#include<fstream.h>
void main()
{

char ch[100];
fstream file1,file2;
file1.open ("INPUT.txt",ios::in);
file2.open ("OUTPUT.txt",ios::out);
while(!file1.eof())
{
file1.getline(ch,100);
cout<<ch<<endl;
file2.write(ch,100);
}
file2.close();
file1.close();
}

其中INPUT中的内容为:
AAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCC

我想要使INPUT中的内容一行一行的输出到OUTPUT中。运行程序,在OUTPUT中会出现“烫”字。在DOS中输出却正确的。
还有一个问题是output中每一行怎样表示为 行数+输入的内容。例如:
第一行 AAAAAAAAAAAAAAAAA
第二行 BBBBBBBBBBBBBBBBB
第三行 CCCCCCCCCCCCCCCCC



...全文
120 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
代码与单车 2009-10-30
  • 打赏
  • 举报
回复
直接用傻瓜化的输出
file2 < <ch;
这条语句很常用很方便
代码与单车 2009-10-30
  • 打赏
  • 举报
回复

#include <iostream.h>
#include <fstream.h>
void main()
{
int i=1;
char ch[100]={'0'};
fstream file1,file2;
file1.open ("aa.cpp",ios::in);
file2.open ("OUTPUT.txt",ios::out);
while(!file1.eof())
{
file1.getline(ch,100);
cout <<ch <<endl;
file2 <<"第" <<i <<"行" <<'\t';
file2<<ch;
file2 <<endl;
i++;
}
file2.close();
file1.close();
}
shawzg 2009-10-30
  • 打赏
  • 举报
回复
#include<iostream.h>
#include<fstream.h>
void main()
{
int i=1;
char ch[100]={'0'};
fstream file1,file2;
file1.open ("aa.cpp",ios::in);
file2.open ("OUTPUT.txt",ios::out);
while(!file1.eof())
{
file1.getline(ch,100);
cout<<ch<<endl;
file2<<"第"<<i<<"行"<<'\t';
file2.write(ch,100);
file2<<endl;
i++;
}
file2.close();
file1.close();
}

我把input.txt改为aa.cpp,即这个程序文件名。
经上面几位高人指点,我改了一下程序。可是在输出到output时,有字节丢失的现象,请问是什么问题啊?
shawzg 2009-10-30
  • 打赏
  • 举报
回复
我最近学的C++的输入输出流,最好能用C++语言,不要用C语言
wanjingwei 2009-10-30
  • 打赏
  • 举报
回复

#include <iostream>
#include <fstream>
using namespace std;
void main()
{

char ch[100];
int i=0;
fstream file1,file2;
file1.open ("1.txt",ios::in);
file2.open ("OUTPUT.txt",ios::out);
while(!file1.eof())
{
file1.getline(ch,100);
char p[256]={0};
sprintf(p,"第%d行 %s\n",i+1,ch);
i++;
file2.write(p,strlen(p));
}
file2.close();
file1.close();
}
jackyjkchen 2009-10-30
  • 打赏
  • 举报
回复
char ch[100] = {0};就没有烫了
jackyjkchen 2009-10-30
  • 打赏
  • 举报
回复
“烫”是没有初始化的栈内存的内容,0xcccc就是汉字“烫”,未初始化的堆内存是0xcdcd,汉字“屯”

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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