Название: [qt-3.3.4] QString::ascii() Отправлено: Kosh от Май 17, 2007, 09:48 Народ, кто знает что происходит при вызове QString::ascii()? Возвращается указатель или выделяется память и делается копия?
Мне надо корректно получат содержимое QString в массив char. Название: [qt-3.3.4] QString::ascii() Отправлено: Racheengel от Май 17, 2007, 11:20 из доки:
The result remains valid so long as one unmodified copy of the source string exists. то есть по идее указатель на шареную память (которую не нужно модифицировать и прибивать). Название: [qt-3.3.4] QString::ascii() Отправлено: Kosh от Май 17, 2007, 12:02 Прибивать?
В оющем можно спокойно пользоваться strcpy()? Блин! Я - хакер, убиться веником... Название: [qt-3.3.4] QString::ascii() Отправлено: Racheengel от Май 17, 2007, 12:22 а почему нельзя? :)
strcpy() точно ничего не напортачит. но если не надо ничего модифицировать - то копировать-то зачем? Название: [qt-3.3.4] QString::ascii() Отправлено: Kosh от Май 17, 2007, 13:55 копировать надо, потому что данные потом передаются в другое место именно как char[]
обычно тролли сами за памятью следят,и у меня бы никаких сомнений не возникло бы, но у них встречается где-то случай, когда надо delete самим вызывать. а сомнения были, потому что казалось, что ascii память выделяет под строку. и было не понятно, толь ей голый указатель подсовывать, толи все же в массив копировать. У меня исходников кутэшных нет. Название: [qt-3.3.4] QString::ascii() Отправлено: Racheengel от Май 17, 2007, 15:02 тогда надо.
|