Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / строка неограниченной длины / 5 сообщений из 5, страница 1 из 1
14.04.2004, 17:23
    #32481523
tanex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строка неограниченной длины
Как ввести строку не закладывая заранее длину:
char szFirstName[30]; - длина огранчена
cin >> szFirstName;

char *szFirstName; - ошибка
cin >> szFirstName;
необходимо выделять память по мере поступления символов? как?
...
Рейтинг: 0 / 0
14.04.2004, 17:38
    #32481567
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строка неограниченной длины
авторнеобходимо выделять память по мере поступления символов? как?
используй malloc и realloc
...
Рейтинг: 0 / 0
15.04.2004, 07:56
    #32482046
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строка неограниченной длины
попробуй так:
Код: plaintext
1.
char s[n];
cin.get(s,n);
...
Рейтинг: 0 / 0
15.04.2004, 16:04
    #32483043
black zorro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строка неограниченной длины
Код: plaintext
1.
2.
char *szFirstName; - ошибка 
cin >> szFirstName; 

Ну разумеется работать не будет ведь пытаемся читать данные с клавиатуры
и записывать их по неинициализированному указателю, в черт его знает куда,
и получаем access violation

cin >> Foo;
Если уж пользуетесь stl то хотябы попробуйте string


Код: plaintext
1.
2.
3.
4.
string s;
while (cin >> s){
 cout <<  "User has entered word:"  << s << endl;
}

Или так:
Код: plaintext
1.
2.
3.
4.
string s;
while (getline(cin , s)){
 cout <<  "User has entered line:"  << s << endl;
}
...
Рейтинг: 0 / 0
16.04.2004, 01:15
    #32483595
gauldot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строка неограниченной длины
Берём BC++ 3.11... Набиваем код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
#include <iostream.h>
void main (void)
{
    char *Stroka;
    cin >>Stroka;
    cout << Stroka;
}

... и все работает нормально

автор
Ну разумеется работать не будет ведь пытаемся читать данные с клавиатуры
и записывать их по неинициализированному указателю, в черт его знает куда,
и получаем access violation

Как раз указатель то и инициализирован...но вобщем ты был бы прав если б дело касалось scanf
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / строка неограниченной длины / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]