Название: string to char[128] Отправлено: Sacha от Ноябрь 06, 2009, 23:58 Подскажите пожалуйста как присвоить значение qstring char[128]?
Название: Re: string to char[128] Отправлено: Sacha от Ноябрь 07, 2009, 00:06 Qt v4.2.2
string.toAscii().data(); пишет что не может присвоить char* to char[128] Название: Re: string to char[128] Отправлено: MoPDoBoPoT от Ноябрь 07, 2009, 00:45 string.toAscii().data(); Имя массива - это указатель, который "привязан" к области памяти (константный указатель) и его нельзя менять (по-моему так). Да и тем более здесь бы получилась утечка памяти (массиву память выделили, а потом про нее "забыли", поменяв значение указателя). Здесь надо скопировать данные в массив.пишет что не может присвоить char* to char[128] В общем, как-то так: Код size-1 для того, чтобы последний байт оставить под '\0' (хотя может и попутал :)) Название: Re: string to char[128] Отправлено: Sacha от Ноябрь 07, 2009, 01:05 спасибо
Название: Re: string to char[128] Отправлено: Igors от Ноябрь 07, 2009, 12:24 size-1 для того, чтобы последний байт оставить под '\0' (хотя может и попутал :)) Ничего не попутал, просто надо добавить Цитировать str[size - 1] = 0; Перед или до - без разницы. strncpy не добавит 0 если источник >= 128 Название: Re: string to char[128] Отправлено: Alex Custov от Ноябрь 07, 2009, 16:49 Ничего не попутал, просто надо добавить Цитировать str[size - 1] = 0; Перед или до - без разницы. strncpy не добавит 0 если источник >= 128 А если кол-во симолов в строке меньше 127, а скажем 10, то в ней будет мусор вплоть до символа нуля. Название: Re: string to char[128] Отправлено: Igors от Ноябрь 07, 2009, 17:30 А если кол-во симолов в строке меньше 127, а скажем 10, то в ней будет мусор вплоть до символа нуля. Будет, но после нулевого терминатора в buf[10] |