Russian Qt Forum
Октябрь 02, 2024, 05:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [qt-3.3.4] QString::ascii()  (Прочитано 4312 раз)
Kosh
Гость
« : Май 17, 2007, 09:48 »

Народ, кто знает что происходит при вызове QString::ascii()? Возвращается указатель или выделяется память и делается копия?

Мне надо корректно получат содержимое QString в массив char.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Май 17, 2007, 11:20 »

из доки:

The result remains valid so long as one unmodified copy of the source string exists.

то есть по идее указатель на шареную память (которую не нужно модифицировать и прибивать).
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Kosh
Гость
« Ответ #2 : Май 17, 2007, 12:02 »

Прибивать?

В оющем можно спокойно пользоваться strcpy()?

Блин! Я - хакер, убиться веником...
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #3 : Май 17, 2007, 12:22 »

а почему нельзя? Улыбающийся
strcpy() точно ничего не напортачит.
но если не надо ничего модифицировать - то копировать-то зачем?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Kosh
Гость
« Ответ #4 : Май 17, 2007, 13:55 »

копировать надо, потому что данные потом передаются в другое место именно как char[]

обычно тролли сами за памятью следят,и у меня бы никаких сомнений не возникло бы, но у них встречается где-то случай, когда надо delete самим вызывать.

а сомнения были, потому что казалось, что ascii память выделяет под строку. и было не понятно, толь ей голый указатель подсовывать, толи все же в массив копировать. У меня исходников кутэшных нет.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #5 : Май 17, 2007, 15:02 »

тогда надо.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 23.