Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2011, 14:17   #1
hello19
Пользователь
 
Регистрация: 19.07.2011
Сообщений: 18
По умолчанию Вывод в файл txt

В процессе обработки данных надо записывать какие-то промежуточные результаты в 2 разных текстовых файла. Как это реализовать?
hello19 вне форума Ответить с цитированием
Старый 10.08.2011, 15:36   #2
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

Есть, например, ofstream и режимы файла.
Можно создать файл(ы), а потом дописывать в него данные.
Код:
//добавляет новые данные в конец существующего файла по имени file.txt
ofstream appfile ( "file.txt", ofstream::app );
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 10.08.2011, 21:13   #3
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию Код на Си

Пример кода на Си (добавляем в файл):

Код:
#include <stdio.h>
#include <locale.h>

/* демонстрация добавления в файл (на C) */
int main () {
    setlocale(LC_ALL, "Russian");

    // открываем файлы
    FILE* fout = fopen("outFile.txt", "w");
    FILE* fp = fopen("outFile.txt", "a");

    // записываем в файл
    fprintf(fout, "Трали-вали, тили-тили!\n");

    // добавляем в файл
    fprintf(fp, "Трали-вали, тили-тили!\n");

    // закрываем файлы
    fclose(fout);
    fclose(fp);

    return 0;
}
Только к нему, конечно, нужны проверки на открытие файлов, закрытие. На форуме было:
Цитата:
Сообщение от Syuf Посмотреть сообщение
C C C...
Код:
#include <stdio.h>
#include <stdlib.h>


int main()
{
    FILE *fin = fopen("F:\\7.txt", "r");
    FILE *fout = fopen("F:\\8.txt", "w");

    if(!fin || !fout)
    {
        printf("Can't open the file %s.\n", (fin ? "F:\\8.txt" : "F:\\7.txt"));
        exit(1);
    }

    char ch;
    for(ch = fgetc(fin); !feof(fin); ch = fgetc(fin))
    {
        if(ch == ' ')
        {
            fputc(ch, fout);
            while(!feof(fin) && (ch = fgetc(fin)) == ' ');
            if(feof(fin))
                break;
        }
        fputc(ch, fout);
    }

    if(fclose(fin) == EOF || fclose(fout) == EOF)
    {
        puts("Error while closing the files.");
        exit(1);
    }
    
    system("erase F:\\7.txt");
    system("rename F:\\8.txt F:\\7.txt");

    return 0;
}
8Observer8 вне форума Ответить с цитированием
Старый 11.08.2011, 00:58   #4
Ibanez Wizard
Адский тунеядец
Форумчанин
 
Аватар для Ibanez Wizard
 
Регистрация: 11.06.2010
Сообщений: 164
По умолчанию

Ты бы ещё написал, на Си или на С++.

Это на Си:

Код:
/* Ввод двух чисел и запись
   их суммы в один файл,
   а произведения в другой */

#include<stdio.h>

int main()
{
    FILE *f1=fopen("writefile_1.txt", "w");
    FILE *f2=fopen("writefile_2.txt", "w");

    int a, b;
    printf("Enter first number: ");
    scanf("%d", &a);

    printf("Enter second number: ");
    scanf("%d", &b);

    fprintf(f1, "%d", a+b);
    fprintf(f2, "%d", a*b);

    fclose(f1);
    fclose(f2);

    return 0;
}
А это на С++:

Код:
#include<iostream>
#include<fstream>

int main()
{
    int a, b;

    std::cout << "Enter first number: ";
    std::cin >> a;

    std::cout << "Enter second number: ";
    std::cin >> b;

    std::ofstream out1("writefile_1.txt");
    std::ofstream out2("writefile_2.txt");

    out1 << a+b;
    out2 << a*b;

    out1.close(), out2.close();

    return 0;
}
Ibanez Wizard вне форума Ответить с цитированием
Старый 11.08.2011, 01:33   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

-----deleted-----
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 11.08.2011 в 13:52.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.08.2011, 06:29   #6
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Ibanez Wizard, я так понял, что вопрос у автора был - как сохранять промежуточные результаты (т.е. дописывать в файл). Как дописывать на С++ показал Roof, а я показал - как это на Си делается.
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод текста из TXT файла Fallart Общие вопросы C/C++ 5 17.05.2011 19:04
if и чтение+вывод из файла .txt webber9989 PHP 4 24.08.2010 22:13
Вывод текста из документа txt soonner JavaScript, Ajax 4 12.05.2009 16:26
Как прочесть txt файл www.site.ru/info.txt BR17UY Работа с сетью в Delphi 1 16.04.2007 13:01