![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.03.2011
Сообщений: 4
|
![]()
Здравствуйте!
![]() Вы бы не могли мне немножко помочь?) Написала функцию чтения строки посимвольно в массив: char* getsS(){ char c; char*s; while ((c=getchar())!='\n'){ *(s++)=c; }; return s; }; Но на ней прога вылетает =( Почему? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 125
|
![]()
Потому что пытается прочитать несуществующий элемент строки?
Попробуйте цикл for от еденицы до длины строки Хотя может я вам наврал ![]() Ок прочитал тему и понял что туплю ![]() Последний раз редактировалось BoozZzilla; 01.04.2011 в 18:08. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 21.03.2011
Сообщений: 4
|
![]()
В цикле написать не могу, так как неизвестна длина строки, которая будет введена с клавиатуры)
Но всё равно спасибо, что откликнулись ![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
![]() Код:
и кстати после '}' точка с запятой не ставится (исключение - класс ) |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 125
|
![]()
Мне самому интересно
![]() А как и где задается длина s? Тьфу, длина возвращаемого массива Не реагируйте бурно, я может даже пойму если мне ответить ![]() Последний раз редактировалось BoozZzilla; 01.04.2011 в 18:51. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
![]()
длина массива нигде не узнается , да она и не нужна.
Тут просто символ введен -> символ установлен в массив через указатель Ну а если границы переполнены , выскочит ошибка переполнения памяти на этапе использования программы |
![]() |
![]() |
![]() |
#7 |
Регистрация: 21.03.2011
Сообщений: 4
|
![]()
Спасибо большое, но мне хотелось бы всё-таки узнать почему та моя функция вылетала...
А длина строки, как я понимаю, нигде не хранится, а только известно что признак конца строки-символ 0. Ведь в Си - не как в делфи-нет такого типа строка, а есть лишь массив указателей на чар. ![]() Насколько я знаю) |
![]() |
![]() |
![]() |
#8 |
Регистрация: 21.03.2011
Сообщений: 4
|
![]()
ой, не массив указателей, а указатель на массив)))
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]() |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
![]()
class A{
// .... } objectA ; == class objectA; но ведь это дела не меняет ,все равно точка с запятой после '}' не ставится везде кроме классов (структур и объединений) |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Считывание файла со второй строки (delphi) | CAMOBAP | Помощь студентам | 19 | 12.01.2011 23:04 |
Считывание строки из консоли СИ с использованием getchar() | vedro-compota | Общие вопросы C/C++ | 11 | 17.12.2010 12:19 |
Считывание строки неограниченной длины (Си) | 0kopok | Помощь студентам | 6 | 05.10.2009 20:46 |
Считывание строки из файла до символа | Stormzcooler | Общие вопросы Delphi | 7 | 18.12.2006 15:01 |