Работа с файлами в C++

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

Точнее объясните полностью принцип работы с текстовыми файлами. Лучше с примером.

Сергей, боюсь, что на статью потянет. Попробуйте задать более конкретный вопрос. Что у вас не получается?

Спасибо, с вводом данных в файл я разобрался. Меня интересует какая команда будет использоваться при выводе, и каким принципом вывод данных будет происходить. Например: в первом ряду записано 1; 2, во втором — 3; 4, как их присвоить переменным а, b, c, d соответственно. Желательно с примером. Буду очень благодарен.

Напишите, пожалуйста, программу: в первом ряду записано 1; 2, во втором — 3; 4, как их присвоить переменным а, b, c, d соответственно, думаю я все пойму что мне нужно. Извиняюсь за повтор. Просто срочно надо.

#include <iostream>
#include <fstream>

int main(int argc, char *argv[])
{
    char chr;
    std::ifstream fin("input.txt", std::ios::in);

    int numbers[4];
    int i = 0;

    while (fin.good()) {
        chr = fin.get();
        if (chr >= '0' && chr <= '9') {
            numbers[i] = chr - '0';
            ++i;
        }
    }
    fin.close();

    int &a = numbers[0];
    int &b = numbers[1];
    int &c = numbers[2];
    int &d = numbers[4];

    std::cout << "a = " << a
        << ", b = " << b << ", c = " << c
        << ", d = " << d << std::endl;
    return 0;
}

Спасибо, благодаря вам занял 2-ое место по информатике в Твери.

Доброго времени суток.
Возникла проблема.

ofstream ofs("123.txt"); 
FILE *fp = fopen("123.txt" ,"w"); 
bool result = fputs("bla-bla-bla", fp);

Файл создается и даже открывается для записи, вот только ничего туда не записывается.

Не могли бы вы подсказать, что здесь не так? std объявлен, stdio, iostream, fstream объявлены. Прога компилируется и прогоняется.
Заранее спасибо.

Артем, после завершения работы с файлом, необходимо закрыть его дескриптор функцией fclose().

#include <iostream>
#include <fstream>

using namespace std;

int main()
{ 
    FILE *fp = fopen("123.txt" ,"w"); 
    bool result = fputs("bla-bla-bla", fp); 
    fclose(fp);
    return 0;
}

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.