C++读入一个字符串(以*结束),写入文本文件a.dat中????急啊!

如题所述

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
char str[50];

ofstream outfile;
outfile.open("a.dat",ios::out); // 打开文件a.dat
if(!outfile) // 文件打开错误时,则退出
{
cout << "文件打开错误" << endl;
abort();
}
cout << "请输入字符串,以星号'*'结束;" << endl;
cin.getline(str,50,'*');
outfile << str; // 将输入的字符串存入文件a.dat中
outfile.close(); // 关闭打开的a.dat文件

char s[50];
ifstream infile;
infile.open("a.dat",ios::in); // 打开文件a.dat
if(!infile) // 文件打开错误时,则退出
{
cout << "文件打开错误" << endl;
abort();
}
infile >> s; // 从文件a.dat中读入字符串
cout << s << " "; // 显示读入的字符串
infile.close(); // 关闭打开的a.dat文件

cout << endl;
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-26
void main()
{
char str;
FILE *fp;
fp=fopen("a.dat","w");
if(fp==NULL)
{
printf("不能创建文件\n");
exit(1);
}
printf("请输入字符串,以*结束:\n");
while((str=getchar())!='*')
fputs (str,fp);
fclose(fp);
printf("创建完成!\n");
}本回答被网友采纳
第2个回答  2010-06-24
可以用函数getline。里面的参数可以是一个也可以是两个。
第二个参数就是读取时候的结束符。
具体可以参看资料。
第3个回答  2010-06-24
用java要不么本回答被提问者采纳
相似回答