C ++ текстовый файл ввода / вывода - PullRequest
0 голосов
/ 10 февраля 2011

Это очень простой вопрос, но куда бы я ни посмотрел, я получаю другой ответ (это потому, что он изменился или изменится в c ++ 0x?):

В c ++ как прочитать два числа из текстового файла и вывести их в другой текстовый файл? Кроме того, куда я могу поместить входной файл? Просто в каталоге проекта? И нужно ли уже иметь выходной файл? Или один будет создан?

Ответы [ 3 ]

2 голосов
/ 10 февраля 2011

Вы, вероятно, получаете разные ответы, потому что есть много разных способов сделать это.

Чтение и запись двух чисел может быть довольно простым:

std::ifstream infile("input_file.txt");
std::ofstream outfile("output_file.txt");

int a, b;
infile >> a >> b;
outfile << a << "\t" << b;

Вам (очевидно) нужнозаменить "input_file.txt" на имя реального текстового файла.Вы можете указать этот файл с абсолютным или относительным путем, если хотите.Если вы указываете только имя файла, а не путь, это означает, что он будет искать файл в «текущем каталоге» (который может совпадать или не совпадать с каталогом, содержащим исполняемый файл).

Когда вы открываете файл только для записи, как у меня выше, по умолчанию любые существующие данные будут удалены и заменены тем, что вы пишете.Если файл с таким именем (и, опять же, вы можете указать путь к файлу) не существует, будет создан новый файл.Вы также можете указать режим добавления, который добавляет новые данные в конец существующего файла, или (для std::fstream) режим обновления, где вы можете читать существующие данные и записывать новые данные.

1 голос
/ 10 февраля 2011

Если ваша программа является фильтром, то есть она читает материал откуда-то и выводит материал в другом месте, вы будете использовать стандартный ввод и стандартный вывод вместо именованных файлов.Это позволит вам легко использовать перенаправления оболочки для использования файлов, сохраняя вашу программу для обработки всех файловых операций.

#include <iostream>

int main()
{
    int a, b;
    std::cin >> a >> b;
    std::cout << a << " " << b;
}

Затем используйте ее из оболочки.

> cat my_input_file | my_program > my_output_file
0 голосов
/ 10 февраля 2011

Положите в ту же папку, что и исполняемый файл.Или вы можете использовать путь к файлу, чтобы указать на него.

Он может быть создан, если он не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...