информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] ламерский вопросик [ C ++ ] 07.11.01 20:55  Число просмотров: 948
Автор: imho Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> хочу записать в msg строку
> char *msg;
> cin>>msg;
> cout<<msg<<endl;
> это есть ERROR !!!
> но это работает
> char *msg="hello world.";
> cout<<msg<<endl;
> в чем трабл

Все работает. Ты как из main() выходишь то? return делаешь, если не void?

#include <iostream.h>
#include <conio.h>

int main()
{
char *msg;
cin>>msg;
cout<<msg<<endl;
//getch();
return 0;
}
<programming>
ламерский вопросик [ C ++ ] 07.11.01 19:52  
Автор: get Статус: Незарегистрированный пользователь
<"чистая" ссылка>
хочу записать в msg строку
char *msg;
cin>>msg;
cout<<msg<<endl;
это есть ERROR !!!
но это работает
char *msg="hello world.";
cout<<msg<<endl;
в чем трабл
A pamiat` diadia budet allocirovat`?? 07.11.01 21:11  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
[C++] ламерский вопросик [ C ++ ] 07.11.01 20:55  
Автор: imho Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> хочу записать в msg строку
> char *msg;
> cin>>msg;
> cout<<msg<<endl;
> это есть ERROR !!!
> но это работает
> char *msg="hello world.";
> cout<<msg<<endl;
> в чем трабл

Все работает. Ты как из main() выходишь то? return делаешь, если не void?

#include <iostream.h>
#include <conio.h>

int main()
{
char *msg;
cin>>msg;
cout<<msg<<endl;
//getch();
return 0;
}
неа 07.11.01 21:03  
Автор: get Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> #include <iostream.h>
> #include <conio.h>
>
> int main()
> {
> char *msg;
> cin>>msg;
> cout<<msg<<endl;
> //getch();
> return 0;
> }
Хм... а у меня со проблеммы (ппмять не может быть writteln)

Visual C++ 6.0 SP3
[C++] неа 08.11.01 08:05  
Автор: imho Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Хм... а у меня со проблеммы (ппмять не может быть writteln)
> Visual C++ 6.0 SP3

Так то ж VisualC++!!!
Я то на Borland C++ 5.02 (command string only)...
А у microsoft там всегда глюки! Одни exceptions, general protection faults, memory cannot be written, и т.д.

#include <iostream.h>
#include <conio.h>

int main()
{
char *msg="";
cin>>msg;
cout<<msg<<endl;
getch();
return 0;
}
- работает! без присвоения ="" компилятор выдавал
local variable 'msg' used without having been initialized.

Хотя правильнее было бы сначала определить переменную, а затем сделать на нее указатель:

#include <iostream.h>
#include <conio.h>

int main()
{
char str[255];
char *msg=str;
cin>>msg;
cout<<msg<<endl;
getch();
return 0;
}
Совет: пиши на borlande - меньше проблем с синтаксисом, меньше выходные файлы, и вообще - просто лучше...
[C++] неа 08.11.01 09:12  
Автор: toy Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Совет: пиши на borlande - меньше проблем с синтаксисом,
> меньше выходные файлы, и вообще - просто лучше...

ну это ты конечно через чур
поветь мне на Visual C++ они меньше
[C++] При чем тут компилеры, просто человек забыл выделить память под указатель 08.11.01 12:55  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
[C++] При чем тут компилеры, просто человек забыл выделить память под указатель(в догонку) 10.11.01 02:54  
Автор: sLoNik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
#include <iostream.h>

void main()
{
char *msg; //Указатель
msg = new char[SIZE]; //Выделяем память под указ. SIZE - размер
cin >>msg;
cout <<msg <<endl;
}

или так!

#include <iostream.h>
#include <stdlib.h>

void main()
{
char *msg; //Указатель
msg = (char *) malloc(SIZE) //Выделяем память под указ. SIZE - размер
cin >>msg;
cout <<msg <<endl;
}


Пишите если проблемы ! Поможем e-mail: pwr@mail.ru
[C++] a dealocirovat` kto budet?? Vasia? 10.11.01 05:03  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach