0 / 0 / 0
Регистрация: 18.03.2015
Сообщений: 2
1

Выводятся непонятные символы после символов прочитанных из файла

18.03.2015, 22:06. Показов 1728. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написал программу чтобы на собственном опыте понять как С++ читает файлы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main()
{
    ifstream OutFile;
    OutFile.open("C:/1.txt");
    //при открытии в блокноте - "jnejnwknvkwlvlkm"
    char mystring[10];
    OutFile.read(mystring, 10);
    cout << mystring;
    OutFile.close();
    return 0;
}
результат работы программы:
Вложение 502680
Что за каракули после 10 символа?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2015, 22:06
Ответы с готовыми решениями:

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

Выводятся непонятные символы В ФАЙЛ
Столкнулся с проблемой. Сначала при выводе в консоль была проблема, но поправил setlocale(LC_ALL,...

почему выводятся непонятные символы?
В методах showauthor, showperson, showland выводится не то, что я вводила с клавиатуры. В чем...

В консоли не выводятся русские буквы.Появляются непонятные символы
Нужно написать программу-приветствие,фамилия/имя/отчество вводятся с клавиатуры #include...

5
Модератор
Эксперт С++
13601 / 10831 / 6442
Регистрация: 18.12.2011
Сообщений: 28,876
18.03.2015, 22:16 2
Цитата Сообщение от lizzzardus Посмотреть сообщение
Что за каракули
Строка должна заканчиваться терминальным нулем.
read его не ставит, т.к. это бинарный, а не текстовый ввод.
Так что, придется ручками.
C++
1
2
3
char mystring[11]={0};
    OutFile.read(mystring, 10);
    cout << mystring;
0
Заблокирован
Автор FAQ
18.03.2015, 22:26 3
lizzzardus, следует выбирать буффер размером на 1 чар большеи после прочтения ставить на его место 0-терминатор, выглядит это вот так
Цитата Сообщение от lizzzardus Посмотреть сообщение
char mystring[11];
* * OutFile.read(mystring, 10);
mystring[10] = 0;
* * cout << mystring;
0
0 / 0 / 0
Регистрация: 18.03.2015
Сообщений: 2
18.03.2015, 22:31  [ТС] 4
ошибку свою я понял. вопрос что делает char массив если не находит нуля при выводе?
0
Заблокирован
Автор FAQ
18.03.2015, 22:44 5
Цитата Сообщение от lizzzardus Посмотреть сообщение
ошибку свою я понял. вопрос что делает char массив если не находит нуля при выводе?
- вконце строк всегда идёт мусор, не стоит пробовать что либо сделать с этим мусором - это может быть область памяти принадлежащая совершенно иному процессу как следствие любое обращение к мусору приведёт к немедленной порче стека
0
Заблокирован
Автор FAQ
18.03.2015, 22:49 6
Вот если совсем вдаватсья в детали
Миниатюры
Выводятся непонятные символы после символов прочитанных из файла  
0
18.03.2015, 22:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2015, 22:49
Помогаю со студенческими работами здесь

При выводе массива выводятся лишние непонятные символы
Имеется массив vord из 10 символов. Ввожу несколько символов(например 4 символа) в этот массив....

Не выводятся русские буквы: в консоли показываются непонятные символы
Нужно написать программу-приветствие,фамилия/имя/отчество вводятся с клавиатуры #include...

Вывод информации на экран DOS: выводятся непонятные лишние символы
Ламерский вопрос. Писал программу, выводящую на экран английский алфавит и ещё пару символов....

Программа находит недопустимые символы в путях, прочитанных из текстового файла
Не знаю как решить проблему с сохранением по заданному пути кнопкой: Есть picture box из которого...


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

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

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