#c #int #user-input #text-files
#c #int #пользовательский ввод #текстовые файлы
Вопрос:
Я не лучший программист на 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;
}
Кроме того, если есть более эффективный способ сделать это, пожалуйста, дайте мне знать! Это только то, что я смог найти в Интернете, что сработало.
Ответ №1:
Это способ C. (Вы можете использовать fprintf для вывода вашего целого числа в форматированной строке)
Вам следует узнать о классе fstream стандартной библиотеки C , который позволяет вам записывать в файлы так же, как вы делаете это со стандартным выводом прямо сейчас.
std::ofstream my_file("test.txt");
my_file << i;
Ответ №2:
Я думаю, это подойдет:
{
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;
}
Комментарии:
1. Да, но это считывает / записывает произвольную строку, в то время как он, вероятно, хочет знать, как вывести целое число.
2. Поскольку он записывает в текстовый файл, я не думаю, что это имеет значение. Насколько я понимаю, он хочет, чтобы число тоже было записано внутри файла, так почему бы просто не прочитать его как строку?
Ответ №3:
Использование ввода-вывода C на самом деле может быть более эффективным, по крайней мере, с точки зрения усилий программиста, в данном случае, поскольку он использует то же самое 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';
}