>
Похожие темы
Тема Автор
Рабыни для производства интернет-порнографии - Санкт-Петербург C++
ночью, посетив порнографический веб-чат (http://Pornication.com http://Pornication.com / http://privatefeeds.com http://privatefeeds.com) я вспомнил о том, что, как когда-то сказал мне один человек, все такого рода веб-страницы принадлежат мафии. Когда я спросил об этом одну из девушек, она осторожно ответила, что так оно и есть. Вести разговор на эту тему сложно, так как девушки находятся под...
krafta
Процедура преобразования целого числа символов C++
Помогите пожалуйста! Начала изучать С++ самостоятельно. Стоит задача: составить процедуру преобразования целого числа в строку символов (параметры процедуры - А: string - строка, B: integer - целое число, стандартную процедуру STR Паскаля или функцию itoa() языка Си не использовать!!!). Пример: передаем целое число 104, получаем строку символов '104',. Не знаю как можно иначе решить эту...
katsa
C++ Помогите с прогой (текстовый массив)
Задание: пользователь вводит текст с клавы ( число строк задает он) Далее в данном тексте выполняется поиск последнего вхождения заданной строки (строка то же вводится с клавы) программу выполнить не используя стандартные ф-ции (собственно писать все ф-ции самому)
tale
Что делать с утечками памяти? C++
С этими утечками памяти в C++ просто беда. Посоветуйте, что можно сделать? Может быть есть какие-то специальные утилиты?
Валишин
принцип взаимодействия с базами данных SQL в С++ C++
Распишите мне подробно, пожалуйста, принцип взаимодействия с базами данных SQL в С++.
Антон_Палыч
C++ Есть ли замена функциям как, например, define?
Недавно из прочитанной статьи о директивах препроцессора define узнал, что ее (define) можно применять и в качестве функции: #define LL (l) (l+l) Но вот в различных программных кодах никогда не наблюдал данного применения define. С чем это связано?
ertyuo
CTreeCtrl + BD C++
Помогите пожалуйста. Есть Бд которая загружается в дерево, как добавить новую запись в БД. Покажите хоть какой-то пример ПОЖАЛУЙСТА!!!!
ypas
Аналог str() в С++ C++
Скажите, пожалуйста, аналог функции str() в С++
dailon

Показать сообщение отдельно
Старый 03.04.2009, 14:54  
palva
Местный
 
Регистрация: 31.03.2001
Сообщений: 1,467
palva пока не определено
По умолчанию RE: Преобразование string в char*

strok.c_str() вернет си-строку, но она будет только для чтения. Если бы у вас было написано

Код
1
int fun(const char*);
тогда компилятор пропустил бы такой код:

Код
1
a=fun(strok.c_str());
Только возращаемый указатель долго не живет. Если в strok будут внесены изменения, то есть шанс, что содержимое строки будет перенесено в другое место памяти и указатель устареет. Так что корректнее всего вытаскивать содержимое строки в буфер, и работать уже с буфером.

Код
1
2
3
4
5
6
7
char *buf = new char[strlen(strtok.c_str())];
 
strcpy(buf, strtok.c_str());
 
a=fun(buf);
 
delete[] buf;
Или воспользоваться функцией strdup с дальнейшим удалением получившейся строки с помощью функции free
palva вне форума  
Ads
 

Текущее время: 06:45. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Рейтинг@Mail.ru