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

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

Войти
Регистрация
Восстановить пароль
 
PArkan
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 97
#1

Лишние символы при записи в файл - C++

12.12.2013, 16:51. Просмотров 582. Ответов 4
Метки нет (Все метки)

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
void Add_department::OnBnClickedOk()
{
    char seps[]   = ":";
    char *token;
    char* file_name = "D:\\department.txt";
    char load_string[1000] = "none";
    FILE *file;
    file = fopen( file_name, "r+" );
    if( file != 0 )
    {
        fgets( load_string, 1000 , file );
    }
    else
    {
        MessageBoxA("Не могу открыть файл БД.");
        return;
    }
    UpdateData(true);
    CString ToOut;
    ToOut.Format("%s:",department);
    MessageBoxA(ToOut);
    fwrite(ToOut, sizeof(int), strlen(ToOut)*4+1, file);
    fclose(file);
    OnOK();
}
Хочу добавить в файл запись, но, видимо, ошибка с кодировков или открывает как бинарный, т.к. дописывает кучу знаков, а со второй попытки может вообще не записать.
Должен дописывать в конец файла:
"пример1:пример2:пример3" ... и должен добавляться "пример4:".
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2013, 16:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Лишние символы при записи в файл (C++):

Tesseract: лишние символы (шум) при записи в файл - C++
Господа, помогите кто знает. #include <fstream> #include <stdio.h> #include <allheaders.h> //lept #include <baseapi.h> //tess ...

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

Ненужные символы при записи в файл - C++
Добрый день! Столкнулся с такой проблемой: создаю в программе новый файл и пытаюсь записать туда строку. потом сразу вывожу то,что...

Лишние символы в конце строки, записанной в файл - C++
Записываю текст в бинарный файл, но в файле нет каракуль а этот же текст. И плюс к тексту добавляться левые символы. (смотреть рисунок) ...

Лишние символы при выводе строк - C++
При создании игрового поля для тетриса (вывод строк, в соответствии с заданным алгоритмом) возникает странная ошибка. Вместо, собственно,...

Лишние символы при чтении из файла - C++
Здравствуйте! Есть текстовый файл следующего содержания: DROP FUNCTION IF EXISTS NumericOnly; CREATE FUNCTION NumericOnly (val...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.12.2013, 17:07 #2
Раз используете функцию бинарной записи, то и файл в бинарном режиме нужно открывать (fgets() это не помешает). CString не знаю, но почему так записываете в файл, блоками int (sizeof(int))?
0
PArkan
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 97
12.12.2013, 17:17  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Раз используете функцию бинарной записи, то и файл в бинарном режиме нужно открывать. CString не знаю, но почему так записываете в файл, блоками int (sizeof(int))?
sizeof(CString) нужно или я не понял суть записи?
Как можно открыть в бинарном режими, хотя было бы лучше использовать обычный txt.
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.12.2013, 17:24 #4
Цитата Сообщение от PArkan Посмотреть сообщение
sizeof(CString) нужно или я не понял суть записи?
Если CString состоит из char, то тогда, наверное, так нужно (хотя не знаю, можно ли, к CString, применять strlen()):
C++
1
fwrite(ToOut, sizeof(char), strlen(ToOut), file);
Цитата Сообщение от PArkan Посмотреть сообщение
Как можно открыть в бинарном режими
"rb+"
1
PArkan
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 97
12.12.2013, 17:32  [ТС] #5
alsav22, пока все отлично. Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 17:32
Привет! Вот еще темы с ответами:

Лишние символы при считывании файла - C++
Считываю структуру с файла и вывожу в консоль, при выводе появляются лишние символы в конце. Скажите пожалуйста с чем это связано и как их...

Лишние символы при копирование текстового файла - C++
не могу понять почему при копировании текстового файла у меня вставляются в конец куча лишних символов, причем чем больше файл тем больше...

Лишние символы при чтении бинарного файла - C++
Добрый день, форумчане! Прошу помочь разобраться с проблемой. Программа преобразовывает текстовый файл в двоичный. При выводе...

Лишние символы в конце строки при копировании - C++
При копировании данных в строку (std::string) в цикле, на "стыках" появляются лишние символы. Пример: <meta...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.12.2013, 17:32
Ответ Создать тему
Опции темы

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