我不是最好的c ++程序员,但我正在努力学习。我试图接受用户输入并将其写入文本文件(不覆盖旧文件),但我无法弄清楚在哪里插入变量(int)。到目前为止,这是我的代码......
int main()
{
int i;
cout << "Please enter something: ";
cin >> i;
FILE * pFile;
pFile = fopen ("C:\\users\\grant\\desktop\\test.txt","a");
if (pFile!=NULL)
fputs ("C++ Rocks!",pFile);
fclose (pFile);
getch();
return 0;
}
此外,如果有更有效的方法,请告诉我!这就是我能够在互联网上找到工作的东西。
答案 0 :(得分:2)
这是C方式。 (您可以使用fprintf以格式化字符串输出整数)
您应该了解C ++标准库fstream类,它允许您使用与标准输出相同的方式写入文件。
std::ofstream my_file("test.txt");
my_file << i;
答案 1 :(得分:1)
我认为这样做:
{
string i; // dont forget to #include <string>
cout << "Please enter something: ";
cin >> i;
FILE * pFile;
pFile = fopen ("C:\\users\\grant\\desktop\\test.txt","a");
if (pFile!=NULL)
{
fputs("C++ Rocks!", pFile);
fputs(i.c_str(), pFile);
}
fclose (pFile);
getch();
return 0;
}
答案 2 :(得分:1)
使用C ++ I / O实际上可能更有效,至少在程序员的努力方面,在这种情况下,因为它对字符串,整数和可以输出的所有其他类型使用相同的operator<<
。
#include <iostream>
#include <fstream>
int main()
{
// open the file in append mode
std::ofstream pFile("C:\\users\\grant\\desktop\\test.txt", std::ios::app);
// append the string to the file
pFile << "C++ Rocks!\n";
// get a number from the user
int i;
std::cout << "Please enter something: ";
std::cin >> i;
// append the number to the file too
pFile << i << '\n';
}