реклама на сайте
подробности

 
 
> c++ *указатель=*указатель
elusive
сообщение Apr 12 2011, 14:39
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 26-05-10
Пользователь №: 57 544



буду страшно благодарен коли кто знает подскажет... свои идеи кончились sad.gif

есть 2 указателя на char.
char *expression, *temp;

нужно по очереди присваивать значения строки expression строке temp, если это не пробел. делаю так:
while (*expression!='\0')
{
if (*expression!=' ') {*temp = *expression; temp++;}
expression++;
}

компилятор съедает, а в винде вылазит ошибка, что temp используется до того как был проинициализирован....

как грамотно скопировать значение ячейки памяти через указатели???
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
elusive
сообщение Apr 12 2011, 16:18
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 26-05-10
Пользователь №: 57 544



rezident, aaarrr, sergeeff, спасибо!! теперь запомню про инициализацию указателя.

все работает. я в общем сделал так:

char* temp_expression;
temp_expression = new char(strlen(expression));
...
*(temp_expression+i) = *expression;

i соответственно наращиваю.


p.s. Idle, у вас совсем не "говорящее" имя =)

upd хм странно, работает только если символов <=16...
upd лол какой-то...
если добавить не играющее большой роли printf

str = new char(strlen(expression));
printf("%d\n", strlen(expression));

работает с любой длиной %)))))

Сообщение отредактировал elusive - Apr 12 2011, 16:38
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 02:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016