![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.09.2010
Сообщений: 30
|
![]()
Возникла необходимость разобрать строку. Воспользовался функцией strtok. Т.к. она уничтожает строку, которую парсит, то я пытался сохранить ее для работы в дальнейшем, но не получилось. Вот код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
![]()
Потому что
Код:
Код:
Код:
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
![]() |
![]() |
![]() |
#3 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
Вы слишком хорошо знакомы со строками, видимо. В си строк - это массив char'ов, а массив это почти указатель на первый элемент. Соответственно, строка
Код:
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 19.09.2010
Сообщений: 30
|
![]()
Да, я обращал внимание что области памяти у этих переменных совпадают, но как этого избежать? как сохранить строку так, чтобы она не была указателем?
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
![]() Код:
Код:
используй массивы char и будешь счастлив.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Последний раз редактировалось Krok27; 25.04.2012 в 14:18. |
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 19.09.2010
Сообщений: 30
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#7 | ||
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
![]() Цитата:
Цитата:
сделай как нибудь в лоб типа Код:
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
||
![]() |
![]() |
![]() |
#8 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
Вы не можете сохранить ее не как указатель. Вроде есть функция strcpy или что-то похожее, копирует строку.
Да, и зачем Вам AnsiString? Чем обычные строки не угодили?
Форматируйте код, будьте людьми.
Последний раз редактировалось Granus; 25.04.2012 в 14:32. |
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 19.09.2010
Сообщений: 30
|
![]() Цитата:
Код:
![]() Granus, да просто привык с AnsiString в билдере работать, вот и все)) |
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]() Цитата:
АнсиСтринг - это планомерная замена обычных чаровских строк, выросла из недр в силу ввода юникода. И да, их поведение было задумано и сделано именно, как поведение обычных чаровских строк. Ну вот не взялася из небытия РАД ХЕ2 (или как она там)... |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
strtok | Matr1x | Общие вопросы C/C++ | 5 | 18.02.2012 20:34 |
strtok | Lotles | Общие вопросы C/C++ | 4 | 21.12.2011 21:04 |
Использование функции strtok | Djost | Фриланс | 1 | 27.05.2010 16:21 |
strtok... | Joe_Tribbiani | Общие вопросы C/C++ | 0 | 02.05.2010 15:52 |
си. strtok. | RZMTZM | Общие вопросы C/C++ | 2 | 05.01.2010 12:59 |