0

我想将一个常量字符串写入一个文本文件。我知道可以使用 put-to 来完成,但我想在通过,等operator(<<)输入的数据块中写入该常量字符串。我的学校项目需要它。请善待并帮助我。如果你不清楚这个问题,请告诉我。cingets

cout<<"Enter your name";
gets(name);
cout<<"Enter your roll number";
cin>>rollno;
char string[]="Student of XYZ School";
fout.write((char*)&student,size(student));

请注意,char 字符串不能与输入的其他数据一起写入,但我希望它只与其他数据一起写入文件中。

4

1 回答 1

0

如果你已经完成了#include <iostream>,你必须这样做,为什么要使用gets()andwrite()和 C 风格的字符串?使用起来会简单得多,因为这是 C++

#include <fstream>

string name;
string rollno;
ofstream outfile;

cout << "Enter your name";
cin >> name;

cout << "Enter your roll number";
cin >> rollno;

string str = "Student of XYZ School";

student.write(outfile);

你没有说“学生”是什么类型。在上面的例子中,我假设它是它自己的类。如果是,那么您可以为它定义一个成员函数

Student::write(ofstream &outfile) {

  outfile << "blah blah blah";
  // etc.
}

无论你做什么,都不要在你的程序中保留gets():它会让你的程序容易受到缓冲区溢出攻击。如果可以使用 cout,则可以使用 cin。

于 2013-11-02T22:28:28.307 回答