如何使用C ++中的fputs将用户输入写入文本文件

时间:2011-04-05 03:01:23

标签: c++ int user-input text-files

我不是最好的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;
}

此外,如果有更有效的方法,请告诉我!这就是我能够在互联网上找到工作的东西。

3 个答案:

答案 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';
}