Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: cin.getline выдаёт ошибку, помогите начинающему!  (Прочитано 8381 раз)
0 Пользователей и 1 Гость смотрят эту тему.
zadorognii
Гость
« : 25-07-2007 08:35 » 

Листинг упростил до минимума:
#include <vcl.h>
#include<iostream.h>
#pragma hdrstop
#pragma argsused
int (main(int argc,char* argv[])
{
cout<<"helooo!";
char p[10];
cin.getline(p,9);
return 0;
}

Работаю в Windows98, программка С для DOS, работаю в C++ Builder 5, выдаёт ошибку при выполнении
"Project Project1.exe raised exception class EAccessViolation with message "Access
violation at address 00401862. Read of address FFFFFFFF". Process stopped."
И открывает листинг locimpl.h на строчке
++ ob->_ref_count;
Что делать? Помогите, я только учусь.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 25-07-2007 09:19 » 

так полагаю, что указатель ob равен FFFFFFFF. Анализируй, почему...

возможно, надо было инициализировать строку нулями
Код:
char p[10];
memset(p,0,10);

или хотя бы в конце ноль поставить -
Код:
char p[10];
p[9]=0;
Записан

zadorognii
Гость
« Ответ #2 : 25-07-2007 10:07 » 

Исправил листинг (оба варианта попробовал).
Программа запускается, вижу "Нelooo" и подвисает.
Выдаёт ту же самую ошибку.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 25-07-2007 10:41 » new

скомпилил в VC (строку с #include <vcl.h> пришлось забить)

во-первых, как ты компилил ? Ошибка - скобка перед main
int (main(int argc,char* argv[])

а в остальном - ничего не вылетело, всё ок (но, повторяю, пробовал в VC++6)
даже ноль в конце строки функция сама вставила
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines