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

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

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

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

09.07.2015, 15:34. Просмотров 253. Ответов 3
Метки нет (Все метки)

Записываю текст в бинарный файл, но в файле нет каракуль а этот же текст. И плюс к тексту добавляться левые символы. (смотреть рисунок)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include
#include 
using namespace std;
void main()
{
char a[305]={"Each individual state has its own sys-tem of public schools."}; 
char d[305];
int x=0; 
x=strlen(a);
fstream out("F:\\scan.txt",ios:: binary|ios::out);
out.write((char*)&a,x*sizeof(char));
out.read((char*)&d,x*sizeof(char));
cout<<d;
out.close();
system("PAUSE");
}
вот что в документе
Each individual state has its own sys-tem of public schools.НННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2015, 15:34     Лишние символы в конце строки, записанной в файл
Посмотрите здесь:

C++ Дан файл, компонентами которого являются символы. Переписать все символы в новый файл в обратном порядке.
C++ Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла
Почему в конце символьной строки появляются разные символы, и что с ними делать? C++
C++ Лишние символы при записи в файл
В матрице, записанной в файл, четные элементы разделить на 4, а к нечетным прибавить 10 C++
Лишние символы в конце строки при копировании C++
C++ Лишние символы на выводе
Откуда в конце строки появляются дополнительные символы? C++
C++ Переписать все строки файла F.txt в файл G.txt, удаляя все пробелы в конце каждой строки
C++ Считывание из файла и вывод на экран (сохранение записанной в программе информации в файл)
C++ Считывание из файла и сохранение записанной в программе информации в файл
C++ При чтение из файла в начало строки добавляются лишние символы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lss
919 / 849 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
09.07.2015, 15:44     Лишние символы в конце строки, записанной в файл #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Pashaa2 Посмотреть сообщение
Записываю текст в бинарный файл, но в файле нет каракуль а этот же текст.
Текст, при любом режиме записи, будет выглядеть, в текстовом редакторе, как текст.
Цитата Сообщение от Pashaa2 Посмотреть сообщение
И плюс к тексту добавляться левые символы. (смотреть рисунок)
Цитата Сообщение от Pashaa2 Посмотреть сообщение
x=strlen(a);
Это количество символов Си-строки без '\0'. Чтобы и '\0' записался - увеличь на единицу.
Max Dark
В поиске работы
 Аватар для Max Dark
1548 / 1401 / 501
Регистрация: 09.10.2013
Сообщений: 3,184
Записей в блоге: 8
Завершенные тесты: 2
09.07.2015, 15:45     Лишние символы в конце строки, записанной в файл #3
Pashaa2, вы забыли про то, что строки "в стиле Си" заканчиваются символом '\0'.
вот и выводится все подряд до первого нулевого байта.
добавьте после операции чтения
C++
1
d[x] = 0;
и ничего лишнего выводиться не будет
lss
919 / 849 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
09.07.2015, 16:08     Лишние символы в конце строки, записанной в файл #4
Pashaa2, как этот код у тебя вообще работает? Файл открыт для бинарной записи, ты им и пишешь, и читаешь (не закрывая и не передвигая курсор). Это что за среда такая?
Yandex
Объявления
09.07.2015, 16:08     Лишние символы в конце строки, записанной в файл
Ответ Создать тему
Опции темы

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