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

Строки (массив char), указатели. Не могу понять логику! Help! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как сохранить иконки, выдранные из чужого *.EXE в свой *.ICO http://www.cyberforum.ru/cpp-beginners/thread472381.html
Выдираются иконки с помощью ExtractIconEx без проблем. А вот как их потом сохранить в удобном месте? И как потом сделать их 'серенькую' копию (для использования по образу и подобию кнопок в IE)?...
C++ Как возвести число в целочисленную степень и взять корень N-ной степени? извиняюсь, за ламерский вопрос, но как в C++ возвести число в целочисленную степень и взять корень N-ной степени??? Заранее благодарен! http://www.cyberforum.ru/cpp-beginners/thread472368.html
C++ Как задать паузу в программе в VC++ ?
Кто подскажет, как задать паузу в программе в VC++? Есть ли такая команда типа WAIT, PAUSE, DELAY или что-то ёще? Штото всё перерыл и ничего похожего не нашёл :(
Как управлять скролингом окна в CListCtrl C++
Помогите самостоятельно научиться перелистывать окно CListCtrl . И еще запретить (или дать свой обработчик) CListCtrl при нажатии на клавиши клавиатуры вправо и влево производить скролинг окна. ...
C++ Как получить иконку файла? http://www.cyberforum.ru/cpp-beginners/thread472337.html
Мне нужны не те иконки, которые выгрызает из exe-шников и т.п. ExtractIcon(), а те иконки, которые Windows ассоциирует с различными типами файлов. Спасибо за ответ.
C++ Надо создать ActiveX control (+) Надо создать следующий ActiveX control: Внешне он представляет из себя таблицу с переменным кол-вом строк и фиксированным кол-вом столбцов. что-то типа такого: ------------------------ .....|... подробнее

Показать сообщение отдельно
.des.
Сообщений: n/a

Строки (массив char), указатели. Не могу понять логику! Help! - C++

13.12.2008, 09:10. Просмотров 1266. Ответов 2
Метки (Все метки)

Вообщем проблема в том что выводятся лишние символы в строках.. хотя в них есть признак окончания строк - нулевой байт
я новичок в С поэтому сложно дойти в чем я заблуждаюсь - вообще в логике языка или какая то частная ошибка

#define MAXDATASIZE 10000
char answer[MAXDATASIZE]={''};
char *p=NULL;
FILE *request_file;
char ch;
main()
{
memset(answer, 0x00, sizeof(answer));
strcpy(answer,'Kakaja to stroka dlinoi skazhem 100 simvolov!!!! sssssssssssssssssss');
// Вывод всей строки - все 100 символов
cout << answer;
if ((request_file=fopen(name_request_file, 'r'))==NULL)
{
fprintf(stderr, 'Cannot open input file.
');
return 1;
}
p=answer;
while(!feof(request_file)) // файл длиной допустим 80 символов.
{
ch=fgetc(request_file);
*p++=ch;
}
*p='' // Добавляем нулевой байт конца строки
cout << answer;
// выводится сам файл и остатки первой строки - то есть лишние 20 байт!
// Блин! Вот я и не пойму так должно быть или я в принципе делаю что-то неправильно?
// ведь он должен выводить строку!! А нулевой байт у нее на отметке 80 символов.
// Замена потока cout на функцию printf ничего не дает.как же сложно переходить на C с Делфи
return 1;
}

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