读书人

C++文件的输入输出解决思路

发布时间: 2012-02-15 12:09:44 作者: rapoo

C++文件的输入输出
#include <iostream.h>
#include <string.h>
#include <fstream.h>
void main()
{
char name[10];
char c[80];
ofstream fop;
ifstream fip;
cout < < "请输入文件名称: " < <endl;
cin> > name;
fop.open( "name.txt ");
do {
cin.getline(c,80);
fop < < c < <endl;
}while(!strcmp(c, "# "));
fop.close();
cout < < "文件输入结束。 " < <endl;
cout < < "文件输出结果为: " < <endl;
fip.open( "name.txt ");
while(fip)
{
fip.getline(c,80);
cout < <c < <endl;
}
fip.close();
}
该程序的目的是为了存储及加载文本文件,要求自己给文件取名字.
问题:
1,怎样才能自己给文件取名字,我这样写可以吗?
2,此程序运行的结果和想象的不一样,当显示 "输入文件名时 "它就停住了.请帮忙调试一下

[解决办法]
fop.open( "name.txt ");
==》
fop.open(name);
[解决办法]
2,此程序运行的结果和想象的不一样,当显示 "输入文件名时 "它就停住了.请帮忙调试一下
========================
晕,当然停住了,
等你输入要创建的文件名啊 ~

你输入你要建立的文件名,比如:test.txt
然后回车就可以继续运行程序了。
[解决办法]
你输入的文件名不管是什么 你建立的文件始终都是 "name.txt "
应该是
strcat(name, ".txt ")
fop.open(name)
[解决办法]
还有这里while(!strcmp(c, "# ")); 应该是while(strcmp(c, "# "));
strcmp当里面两个不相等是返回1 相等时返回0

读书人网 >C++

热点推荐