Форум программистов, компьютерный форум CyberForum.ru

Работа с файлами. Вопрос. - 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", ios::in|ios::out|ios::binary); if (!fio) {
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 while ( (file_txt_ptr - indx ) != (begin_symbol - 1) ) ++indx; В смысле корректно ли с равнивать с ячейкой памяти, стоящей перед первым символом массива(т.е. begin_symbol - 1)?
C++ Определить, сколько в файле имеется слов, состоящих из одного, двух, трех символов http://www.cyberforum.ru/cpp-beginners/thread154643.html
Дан символьный файл f. Считая что кол-во символов в слове не превосходит двадцати: а) определить, сколько в файле f имеется слов, состоящих из одного, двух, трех и т.д. символов; б) получить гистограмму (столбчатую диаграмму) длин всех слов файла f; в) определить кол-вослов в файле f.
C++ Определить число вхождений в последовательность s1,..., sn группы букв abc Даны натуральное число n,символы s1,...,sn. Определить число вхождений в последовательность s1,..., sn группы букв abc. подробнее

Показать сообщение отдельно
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
20.07.2010, 20:35     Работа с файлами. Вопрос.
Пытаюсь вывести результат работы программы из файла на экран, но 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru