Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 51
1

Не записывается в файл строка

13.11.2017, 22:30. Показов 848. Ответов 3
Метки нет (Все метки)

Не могу понять, в чем проблема? Чтение из файла проходит успешно, а вот запись - нет.
Мне нужно не перезаписать файл, а добавить в него преобразованную строку.
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
#include "stdafx.h"
#include <iostream>
#include <locale.h>
#include <string>
#include <fstream>
 
using namespace std;
 
// Run Length Encoding (RLE) data compression algorithm 
 
string encode(string str)
{
    
    string encoding = "";
    int count;
 
    for (int i = 0; str[i]; i++)
    {
        count = 1;
        while (str[i] == str[i + 1])
            count++, i++;
 
        
        encoding += to_string(count) + str[i];
    }
 
    return encoding;
}
 
int main()
{
    setlocale(LC_ALL, "Rus");
    char buff[50];
    ifstream fin("string.txt"); // на чтение
    ofstream fout("string.txt"); // на запись
 
    //string str = "";
 
 
    //cout << "Введите строку, которую нужно сжать:" << endl;
    //cin >> str;
 
    fin >> buff;
    cout << "Исходная строка:" << endl;
    cout << buff << endl;
    cout << "Сжатая строка:" << endl;
    cout << encode(buff);
 
    fout << encode(buff);
    fout.close();
    fin.getline(buff, 50);
    fin.close();
    cout << buff << endl;
 
    cout << endl;
    system("pause");
 
    return 0;
    
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2017, 22:30
Ответы с готовыми решениями:

Не записывается строка в файл
Не записывается строка в файл в чем может быть причина ? fstream f(&quot;work_mem.txt&quot;, ios::in |...

Почему не записывается строка в файл?
Как мне закодированную строку записать в файл? Подскажите, пожалуйста. В этой строке bool result =...

Строка не записывается в файл, если в ней присутствуют пробелы
Делаю записную книгу на с++ в консоли (Code::Block) Все отлично работает если в каждую переменную...

Не записывается строка в файл
Всем здрасьте. У меня есть строка , которую надо записать в текстовый файл. Этот файл находится в...

3
7158 / 6133 / 2801
Регистрация: 14.04.2014
Сообщений: 26,455
13.11.2017, 22:40 2
После чтения закрой файл и только после этого открывай на запись.
1
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 51
13.11.2017, 23:02  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
После чтения закрой файл и только после этого открывай на запись.
все равно не получается. Даже когда пытаюсь записать в другой файл - ничего не записывается..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    setlocale(LC_ALL, "Rus");
    char buff[50];
    ifstream fin("string.txt"); // на чтение
    
 
    string str = "";
 
    fin >> buff;
    cout << "Исходная строка:" << endl;
    cout << buff << endl;
    cout << "Сжатая строка:" << endl;
    cout << encode(buff);
 
    fin.getline(buff, 50);
    fin.close();
    cout << buff << endl;
    str = encode(buff);
 
    ofstream fout("string2.txt"); // на запись
    fout << str;
    fout.close();
0
nd2
3422 / 2802 / 1252
Регистрация: 29.01.2016
Сообщений: 9,426
14.11.2017, 03:03 4
Цитата Сообщение от amastudent Посмотреть сообщение
C++
1
for (int i = 0; str[i]; i++)
Для std::string тут будет выход за границу строки (UB). Для таких случаев, в std::string, есть метод size().
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2017, 03:03

В файл не полностью записывается строка с символами '\0'
В какой-то момент мне в программе потребовалось сжимать данные, и эти самый сжатые данные...

Не создаётся файл и не записывается строка
Здрасте, подскажите по какой причине не создаётся файл и не записывается в него строка? int...

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

В первое поле вводится любая строка, при нажатии на кнопку во второе поле записывается эта строка без пробелов
Помогите пожалуйста В первое поле вводится любая строка, при нажатии на кнопку «START» во второе...

строка не записывается в переменную
почему не работает след. код? String^ str=textBox1-&gt;Text; когд а ввожу латиницу или знаки...

В БД записывается пустая строка
Отпарсил одну страницу с помощью DOM и хочу полученные данные занести в БД MySQL. Моя БД: ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru