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

Работа с файлами. Вопрос. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вопрос по работе с файлами http://www.cyberforum.ru/cpp-beginners/thread154794.html
Пока i-=2 не вставил, выводила пустую строку в результате. Почему так? Что за 2 знака перед eof() мешали? int main(int argc, char* argv) { long i; fstream fio("reverse.txt",...
C++ Передача файлового потока как параметр-ссылка Как привести в реальность эту конструкцию? VS6 после ifstream fin ("test"); res = wordsearch (fin); выдавала ошибку. http://www.cyberforum.ru/cpp-beginners/thread154724.html
какие кгиги по С++ прочитали (хотя бы полистали) лично Вы? C++
какие кгиги по С++ прочитали (хотя бы полистали) лично Вы?
C++ Сравнивание указателей
Нужно подсчитать количество символов до определенной позиции, включительно, указатель на которую - begin_symbol начало подсчета с позиции file_txt_ptr Можно сделать так? indx = 1; // 0 или 1...
C++ Определить, сколько в файле имеется слов, состоящих из одного, двух, трех символов http://www.cyberforum.ru/cpp-beginners/thread154643.html
Дан символьный файл f. Считая что кол-во символов в слове не превосходит двадцати: а) определить, сколько в файле f имеется слов, состоящих из одного, двух, трех и т.д. символов; б) получить...
C++ Определить число вхождений в последовательность s1,..., sn группы букв abc Даны натуральное число n,символы s1,...,sn. Определить число вхождений в последовательность s1,..., sn группы букв abc. подробнее

Показать сообщение отдельно
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255

Работа с файлами. Вопрос. - C++

20.07.2010, 20:35. Просмотров 722. Ответов 11
Метки (Все метки)

Пытаюсь вывести результат работы программы из файла на экран, но str2 всегда после f.read(str2, 80);
выводит первоочередное значение. Программа делает следующее: ввод 2356, вывод 3265. Так вот, str2 равен 2356 после вывода на экран. В связи с чем это связано и как разрешить эту ситуацию?

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
int main(int argc, char* argv[])
{
    int i;
    char ch1, ch2, str[80], str2[80];
    
    cout<<"Enter the string: ";
    cin.get(str,79);
 
    fstream f("reverse.txt", ios::in|ios::out|ios::binary);
 
    if(!f.is_open())
    {
        cout<<"File opening error!"<<endl;
        return 1;
    }
 
    f.write(str,strlen(str));
 
    for (i = 0; !f.eof(); i+=2)
    {
        f.seekg(i, ios::beg);
 
        if (!f.good()) return 1;
 
        f.get(ch1);
 
        if (f.eof()) continue;
 
        if (!f.good()) return 1;
 
        f.get(ch2);
 
        if (f.eof()) continue;
 
        if (!f.good()) return 1;
 
        f.seekg(i, ios::beg);
 
        if (!f.good()) return 1;
 
        f.put(ch2);
 
        if (!f.good()) return 1;
 
        f.put(ch1);
 
        if (!f.good()) return 1;
    }
    
    
    
 
    //f.seekg(0,ios::beg);
 
    f.read(str2, 80);
 
    //str[21] = '\0';
 
    cout<<str<<endl;
    
    f.close();
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.