#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;
}
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");
}
可以用函数getline。里面的参数可以是一个也可以是两个。
第二个参数就是读取时候的结束符。
具体可以参看资料。
用java要不么