HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 15.06.2009, 21:33
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,205
С нами: 10016425

Репутация: 1257


По умолчанию

есть две переменные
char *first="Text";
char second[255];

как присвоить переменной second значение переменной first?
компилятор ругается на "invalid conversion from `char*' to `char'"
 
Ответить с цитированием

  #2  
Старый 15.06.2009, 21:46
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

mr.The
strcpy(second, first);
 
Ответить с цитированием

  #3  
Старый 15.06.2009, 21:52
kRa$I-I
Познающий
Регистрация: 23.01.2009
Сообщений: 32
С нами: 9103893

Репутация: 8
По умолчанию

to mr.The
Первая переменная есть указатель на область памяти в 1 байт, выделенная под переменную типа char. Делая так char *first = "Text" - ты успешно записываешь в место адреса "Te"(2 байта)
Вторая переменная - массив из 255 элементов.
Я думаю правильно так
char first[5]= "Text";
char second[255];
for(int i=0; i<5; i++)
{ second[i]=first[i];
cout << second[i];
}
 
Ответить с цитированием

  #4  
Старый 15.06.2009, 22:30
fker
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
С нами: 9187097

Репутация: 158
По умолчанию

Цитата:
Первая переменная есть указатель на область памяти в 1 байт, выделенная под переменную типа char. Делая так char *first = "Text" - ты успешно записываешь в место адреса "Te"(2 байта)
По моему бред. первое объявление есть указатель на массив символов, заранее неопределенной длины, инициализируя указатель он какбэ объявляет что этот массив будет размером 4байта+'\0' точнее слово "Text"

char first[5]= "Text";
char second[255];
for(int i=0; i<5; i++)
{ second[i]=first[i];
cout << second[i];
}

а если нам нужно работать со строкой не посимвольно? например вывеси ее сразу :
printf("%s",second);
а она будет до этого заполлнена, выведутся - TextXXXXXX X-символы которыми была до этого заполнена.
Самый нормальный вариант имхо, использовать, как уже говорили выше - strcpy из string.h
 
Ответить с цитированием

  #5  
Старый 15.06.2009, 22:51
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,205
С нами: 10016425

Репутация: 1257


По умолчанию

Цитата:
strcpy(second, first);
спс.
kRa$I-I, твой вариант работает, но этот короче и быстрее.
Цитата:
strcpy из string.h
эта либа автоматом подключается? оно и без неё скомпилилось)

UPD: посоветуйте хороший отладчик. немогу баг словить..
 
Ответить с цитированием

  #6  
Старый 16.06.2009, 01:21
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
С нами: 9017461

Репутация: 414


По умолчанию

Цитата:
UPD: посоветуйте хороший отладчик. немогу баг словить..
gdb
 
Ответить с цитированием

  #7  
Старый 16.06.2009, 02:42
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

ollydbg =)
 
Ответить с цитированием

  #8  
Старый 16.06.2009, 09:20
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

syser *CRAZY*
 
Ответить с цитированием

  #9  
Старый 16.06.2009, 20:57
metaldisc
Новичок
Регистрация: 06.08.2008
Сообщений: 10
С нами: 9348874

Репутация: 11
По умолчанию

del
 
Ответить с цитированием

  #10  
Старый 16.06.2009, 21:09
metaldisc
Новичок
Регистрация: 06.08.2008
Сообщений: 10
С нами: 9348874

Репутация: 11
По умолчанию

каждый хитрый мазахист между про чем ананист, ну прям как slesh
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...