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

2024-12-02 01:27:18
推荐回答(4个)
回答1:

#include
#include

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;
}

回答2:

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");
}

回答3:

可以用函数getline。里面的参数可以是一个也可以是两个。
第二个参数就是读取时候的结束符。
具体可以参看资料。

回答4:

用java要不么