Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.84
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
#1

Открытие текстового файла как поток - C++

22.11.2010, 18:53. Просмотров 3413. Ответов 9
Метки нет (Все метки)

Тоесть у меня есть:
C++
1
2
3
4
5
FILE *out; 
out = fopen("output.txt", "w"); 
....
....
fputs(word, out);
А как это сделать через поток? Используя <fstream>

Добавлено через 21 минуту
Вроде как открыть файл для записи понял:
C++
1
ofstream out("output.txt");
А как записать в файл? ( мне строку нужно записать) fputs с потоками как я понял не работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2010, 18:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Открытие текстового файла как поток (C++):

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Открытие текстового файла - C++
вроде бы все пишу правильно, но текст с файла не отображает. Если писать через ofstream весь текст в файле удаляет, но в консоле все равно...

Открытие текстового файла из программы - C++
Привет. Заинтересовал такой вопрос: можно ли из кода самой программы открыть какой-нибудь, к примеру, текстовый файл примерно таким...

Добавить в конец первого текстового файла содержимое второго текстового файла - C++
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.

Как сбросить поток для чтения файла с начала? - C++
Добрый вечер. Создали поток, связали с ним файл (текстовый). Начинаем чтение файла, читаем, читаем, пришли к его концу. Как теперь...

Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде локальной переменной внутри функции. - C++
Совсем не понял эту тему. Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде...

9
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
22.11.2010, 18:56 #2
C++
1
out << "Text";
1
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
22.11.2010, 18:59 #3
C++
1
2
3
4
5
6
7
    int x = 5;
    const char* str = "Evil!"; 
 
    ofstream out("output.txt");
    out << x;
    out << str;
    out.close();
1
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
22.11.2010, 19:02  [ТС] #4
Попытался записать такми образом, но мне компилятор выдал ошибку: error C2088: <<: недопустимо для class
С чем это может быть связано?
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
22.11.2010, 19:06 #5
dyap, с тем, что ты пытаешься, видимо, записать не базовый тип, а свой пользовательский класс. В таком случае необходимо перегрузить оператор << для своего класса.
1
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
22.11.2010, 19:22  [ТС] #6
Эм...А как перегрузить оператор <<?
0
Kastaneda
Jesus loves me
Эксперт С++
4749 / 2953 / 242
Регистрация: 12.12.2009
Сообщений: 7,491
Записей в блоге: 2
Завершенные тесты: 1
22.11.2010, 19:37 #7
Цитата Сообщение от dyap Посмотреть сообщение
А как перегрузить оператор <<?
А покажите ваш класс.
1
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
22.11.2010, 20:01  [ТС] #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
 
FILE *in;
//FILE *out;
 
FILE *sort;
char seps[] = " ,.!?\t\r\n";
 
bool isWordUpper (char *word){
    for(int x=0; x<strlen(word);x++){
        if(!isupper( word[x] )){
            return false;
        }
    }
    return true;
}
 
int compare( const void *arg1, const void *arg2 ){
    return strcmp( *(char**) arg1, *(char**) arg2 );
}
 
void main ()
{
    setlocale(LC_ALL, "Russian");
 
    in = fopen("input.txt", "r");
   // out = fopen("output.txt", "w");
    ifstream out("output.txt");
    sort = fopen("Out_sort.txt", "w");
 
    ofstream out("output.txt");
 
 
    char **words = new char*[2000];
    for (int i = 0; i < 2000; i++){
        words[i] = new char[200];
    }
 
    int n = 0; 
 
    char *str = (char*) malloc (200);
    char *str2 = (char*) malloc (200);
 
    if(in == NULL)    {    
        printf (" Файл не открывается\n");
        return;
    }
    if (feof(in)) {
        return;
    }
 
    
 
    while(fgets(str, 200, in) != NULL) {  
        strcpy(str2, str); 
 
        char *word = strtok( str, seps );
        if (word != NULL){
 
        int max = strlen(word);
 
        while( word != NULL ){
            if (strlen(word) > max){
                max = strlen(word);
            }
            word = strtok( NULL, seps );
        }
 
        word = strtok( str2, seps );
        while( word != NULL ){
            if (isWordUpper(word) && (strlen(word) == max)){
                //fputs(word, out);
                //fputs(" ", out);
                out<<word;
                out<<" ";
 
                strcpy(words[n], word);
 
                n++;
            }
 
            word = strtok( NULL, seps );
        }
 
        //fputs("\n", out);
        out<<"\n";
        }
    }
 
    qsort(words, n, sizeof(char *), compare );
 
    for (int i=0; i<n; i++){
        fputs(words[i],sort);
        fputs("\n",sort);
    }
 
    out.close();
    fclose(in);     
    fclose(sort);     
}
Вот программка, мне просто нужно сделать запись в файлы через потоки...
0
Kastaneda
Jesus loves me
Эксперт С++
4749 / 2953 / 242
Регистрация: 12.12.2009
Сообщений: 7,491
Записей в блоге: 2
Завершенные тесты: 1
22.11.2010, 20:15 #9
Вот это:
C++
1
ifstream out("output.txt");
уберите.
1
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
22.11.2010, 20:22  [ТС] #10
Kastaneda,
Огромнейшее спасибо )) Надо быть внимательнее))
0
22.11.2010, 20:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2010, 20:22
Привет! Вот еще темы с ответами:

Как считать с текстового файла? - C++
Подскажите, пожалуйста, как можно считать предложение из текстового файла. Вот задачка: Написать программу, подсчитывающую число...

Как считать информацию с текстового файла? - C++
Нужна помощь! Мне необходимо создать пользовательскую функцию, которая будет считывать информацию с текстового файла.

Как определить конец текстового файла? - C++
Собственно весь вопрос в заголовке. Пробовал с eof, но не получается. #include &lt;fstream.h&gt; #include &lt;iostream.h&gt; #include...

Как перейти в начало текстового файла? - C++
Какую строку добавить в код, чтоб перейти в начало файла? while (fin.get(ch)) { if (isdigit(ch)) ++num; }


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru