ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

возвращение строки
  #1  
Старый 24.02.2006, 15:49
Аватар для fucker"ok
fucker"ok
Познавший АНТИЧАТ
Регистрация: 21.11.2004
Сообщений: 1,137
Провел на форуме:
2487541

Репутация: 761


По умолчанию возвращение строки

есть функция, которая возращает строку
Код:
char* f()
{

        static char str[] = "helloworld";


        return str;
}

    char* str = f();
     cout << str << sizeof(str);
При такой функции строка выводится как надо, но sizeof(str) = 4 байта. (долго думал почему 4... только догадки)
А мне нужно от sizeof(str) получить 10 байт (строка "helloworld" = 10 байтам)
Конечно можно воспользоватся strlen, скажете вы, но этот способ мне не подходит потому-что strlen как я понял игнорирует символы типа 0x00 и тд, а мне это очень важно.
Тоесть вывод такого будет 0 (а sizeof() = 2)
Код:
char str[] = {0x00, 0x00};
cout << strlen(str);
Вообщем нужно возрвратить строки таким способом (или приобразовать её уже поле возвращения), чтобы можно было потом с ней работать также, если бы я сам назначил char str[] = "helloworld";


UPD

Я замутил так:
Код:
char* f(int &size)
{

        char s1[] = "hello world"; 
        size = sizeof(s1);
        char* pResult = new char[size];
        return pResult;
}
int main()
{
        int size = 0;
        char *p = f(size);
        char str[size];
        memcpy(&str, p, sizeof(str));
        delete p;
        cout << str <<" " << sizeof(str);
}
Проблема решена. Модератор может удалить тему :]

Последний раз редактировалось fucker"ok; 01.03.2006 в 20:18.. Причина: проблема отпала
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск Perl скрипта из командной строки Prince_Dark Windows 10 20.07.2007 12:37
Помогите с bat-файлом Micr0b Windows 9 15.02.2006 17:10
Программа на C++. Как сделать проверку на конец строки? Meister С/С++, C#, Delphi, .NET, Asm 7 21.11.2005 23:24
конец строки Mastermind PHP, PERL, MySQL, JavaScript 15 18.08.2005 00:28



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


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




ANTICHAT.XYZ