|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.04.2012, 13:40 | #1 |
Пользователь
Регистрация: 19.09.2010
Сообщений: 30
|
strtok
Возникла необходимость разобрать строку. Воспользовался функцией strtok. Т.к. она уничтожает строку, которую парсит, то я пытался сохранить ее для работы в дальнейшем, но не получилось. Вот код:
Код:
|
25.04.2012, 13:50 | #2 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Потому что
Код:
Код:
Код:
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
25.04.2012, 13:53 | #3 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Вы слишком хорошо знакомы со строками, видимо. В си строк - это массив char'ов, а массив это почти указатель на первый элемент. Соответственно, строка
Код:
Форматируйте код, будьте людьми.
|
25.04.2012, 14:00 | #4 |
Пользователь
Регистрация: 19.09.2010
Сообщений: 30
|
Да, я обращал внимание что области памяти у этих переменных совпадают, но как этого избежать? как сохранить строку так, чтобы она не была указателем?
|
25.04.2012, 14:12 | #5 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Код:
Код:
используй массивы char и будешь счастлив.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Последний раз редактировалось Krok27; 25.04.2012 в 14:18. |
25.04.2012, 14:17 | #6 |
Пользователь
Регистрация: 19.09.2010
Сообщений: 30
|
Хм... я немного не понял, откуда этот код? из описания типа AnsiString? и как он мне поможет сохранить свою переменную не как указатель?
|
25.04.2012, 14:29 | #7 | ||
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Цитата:
Цитата:
сделай как нибудь в лоб типа Код:
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
||
25.04.2012, 14:30 | #8 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Вы не можете сохранить ее не как указатель. Вроде есть функция strcpy или что-то похожее, копирует строку.
Да, и зачем Вам AnsiString? Чем обычные строки не угодили?
Форматируйте код, будьте людьми.
Последний раз редактировалось Granus; 25.04.2012 в 14:32. |
25.04.2012, 14:45 | #9 | |
Пользователь
Регистрация: 19.09.2010
Сообщений: 30
|
Цитата:
Код:
Granus, да просто привык с AnsiString в билдере работать, вот и все)) |
|
25.04.2012, 16:30 | #10 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
АнсиСтринг - это планомерная замена обычных чаровских строк, выросла из недр в силу ввода юникода. И да, их поведение было задумано и сделано именно, как поведение обычных чаровских строк. Ну вот не взялася из небытия РАД ХЕ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 |