Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2013, 16:28   #1
ilvErsat0
Пользователь
 
Регистрация: 11.04.2013
Сообщений: 13
Вопрос в конце моей строки добавляется абракадабра

Значит в VS Express 2012 делаю такой код:

Код:
#include <cstdio>
#include <cstdlib>

int main (void)
{
    FILE *file1;
    char ptr[10];
    int a, b;


    file1 = fopen("D:\\file.txt", "r");

    b = fread(ptr, sizeof(char), 9, file1);
    printf("%s", ptr);

    a = fclose(file1);

	printf("\n");
	system("pause");
	return 0;
}
в file.txt написано "123456789". КакбЭ отображается всё, но после цифр добавляется всякая фигня.
Можно конечно забить на это, т.к. после CodeBlocks`а после цифр ничего нет, но какбЭ я хочу узнать что это такое.
Изображения
Тип файла: jpg Безымянный.jpg (27.2 Кб, 124 просмотров)
"Я не волшебник, я только учусь".
ilvErsat0 вне форума Ответить с цитированием
Старый 21.04.2013, 16:37   #2
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Код:
    b = fread(ptr, sizeof(char), 9, file1);
    ptr[9] = '\0';
    printf("%s", ptr);
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Старый 21.04.2013, 16:37   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

строки должны заканчиваться нуль-терминатором
в файле нуль-нерминатора нет
fread нуль-терминатор не добавляет, т.к. считывает заданной количество байт с файла, а не строки (смотрит на файл как на массив байт, а не набор строк).

----

Код:
ptr[9] = '\0';
файл не отмечен как двоичный при открытии, я думаю ТС лучше функции соответствующие для работы со строками исопльзовать
rrrFer вне форума Ответить с цитированием
Старый 21.04.2013, 16:51   #4
ilvErsat0
Пользователь
 
Регистрация: 11.04.2013
Сообщений: 13
По умолчанию

Понял, спасибо)
"Я не волшебник, я только учусь".
ilvErsat0 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление пробелов в конце строки madace Microsoft Office Excel 6 18.02.2013 07:09
TResourceStream. Выдергивание моей строки. Человек_Борща Общие вопросы Delphi 15 31.03.2012 19:46
Добавление символа в конце строки SergiOD Общие вопросы Delphi 7 09.03.2011 11:30
Знак переноса строки в конце строки. Kalika Microsoft Office Access 2 12.09.2010 11:27
Знак в конце строки таблицы VistaSV30 Microsoft Office Word 1 02.02.2010 21:29