powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / string & char*
19 сообщений из 19, страница 1 из 1
string & char*
    #34323079
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Требется перевести переменную типа string в char* и обратно.
string в char* - это ещё понятно - c_str() .
...
Рейтинг: 0 / 0
string & char*
    #34323146
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oblomovТребется перевести переменную типа string в char* и обратно.
string в char* - это ещё понятно - c_str() .
Код: plaintext
1.
2.
3.
4.
string str;
char* pch = "test";
str = pch;
:)
...
Рейтинг: 0 / 0
string & char*
    #34323161
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя и c_str() не катит:

char arr[20];
memset(arr,0,20);
string value = string ("0123");
strncat(arr,value.c_str(),4);
В результате в arr не то, что надо. Али я не так делаю?
...
Рейтинг: 0 / 0
string & char*
    #34323184
Oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Paradoxx oblomovТребется перевести переменную типа string в char* и обратно.
string в char* - это ещё понятно - c_str() .
Код: plaintext
1.
2.
3.
4.
string str;
char* pch = "test";
str = pch;
:)

А обратно?
...
Рейтинг: 0 / 0
string & char*
    #34323343
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oblomovХотя и c_str() не катит:

char arr[20];
memset(arr,0,20);
string value = string ("0123");
strncat(arr,value.c_str(),4);
В результате в arr не то, что надо. Али я не так делаю?

Простите, а что вы ожидали получить в arr, потому что там будет "0123", что и ожидалось.
...
Рейтинг: 0 / 0
string & char*
    #34323351
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А для string -> char*, вы уже сами сказали - c_str().
...
Рейтинг: 0 / 0
string & char*
    #34323391
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Paradoxx oblomovХотя и c_str() не катит:

char arr[20];
memset(arr,0,20);
string value = string ("0123");
strncat(arr,value.c_str(),4);
В результате в arr не то, что надо. Али я не так делаю?

Простите, а что вы ожидали получить в arr, потому что там будет "0123", что и ожидалось.
А у меня в arr \x01\0\0\0\0\0\0 и т.д.
...
Рейтинг: 0 / 0
string & char*
    #34323438
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
oblomov Paradoxx oblomovХотя и c_str() не катит:

char arr[20];
memset(arr,0,20);
string value = string ("0123");
strncat(arr,value.c_str(),4);
В результате в arr не то, что надо. Али я не так делаю?

Простите, а что вы ожидали получить в arr, потому что там будет "0123", что и ожидалось.
А у меня в arr \x01\0\0\0\0\0\0 и т.д.

Извиняюсь, соврал! Работал с классами и раньше срока высвободил память
...
Рейтинг: 0 / 0
string & char*
    #34323531
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рад, что теперь все OK :)
...
Рейтинг: 0 / 0
string & char*
    #34323637
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот у меня другая проблемка: есть
char str = '11';
как преобразовать '11' в 0x11?
...
Рейтинг: 0 / 0
string & char*
    #34323703
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не надо преобразовывать. надо так и написать
char str=0x11;
...
Рейтинг: 0 / 0
string & char*
    #34323910
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
char res[ 20 ];
memset(rees, 0 , 20 );
int dec1 =  1 ;  // в hex это 0x01
int dec2 =  35 ;// в hex это 0x23
int dec3 =  69 ;// в hex это 0x45

char b[ 2 ];
memset(b, 0 , 2 );
    
    itoa(dec1,b, 16 );
    strncat(res,b, 2 );
    b[ 0 ] = '\0';
    
    itoa(dec2,b, 16 );
    strncat(res,b, 2 );
    b[ 0 ] = '\0';

    itoa(dec3,b, 16 );
    strncat(res,b, 2 );
    b[ 0 ] = '\0';

Мне надо, чтобы в res было
Код: plaintext
 \x01\x23\x45\0\0\0
и т.д.
...
Рейтинг: 0 / 0
string & char*
    #34323911
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как это сделать?
...
Рейтинг: 0 / 0
string & char*
    #34324167
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
void MyFunc(const char* ch, char*  res){
        int ras =  48 ;
        int z;
        char b[ 2 ];
        memset(b, 0 , 2 );
        for (int i =  0 ; i < strlen(ch) ; i +=  2 ){
             z = ((ch[i] - ras) <<  4 ) | (ch[i+  1 ] - ras);
             itoa(z,b, 16 );
             strncat(res,b, 2 );
        }
}

На вход функции подается value = "123456", требуется, чтобы она возвращала res = \x12\x34\x56
...
Рейтинг: 0 / 0
string & char*
    #34324249
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oblomov
int dec1 = 1; // в hex это 0x01
int dec2 = 35;// в hex это 0x23
int dec3 = 69;// в hex это 0x45

Мне надо, чтобы в res было
Код: plaintext
 \x01\x23\x45\0\0\0
и т.д.
Код: plaintext
res[ 0 ]=dec1; res[ 1 ]=dec2; res[ 2 ]=dec3;
нормально?
...
Рейтинг: 0 / 0
string & char*
    #34324301
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo oblomov
int dec1 = 1; // в hex это 0x01
int dec2 = 35;// в hex это 0x23
int dec3 = 69;// в hex это 0x45

Мне надо, чтобы в res было
Код: plaintext
 \x01\x23\x45\0\0\0
и т.д.
Код: plaintext
res[ 0 ]=dec1; res[ 1 ]=dec2; res[ 2 ]=dec3;
нормально?
Да я так пробовал
Вот другой пример
Код: plaintext
1.
2.
3.
4.
char b[ 2 ];
memset(b, 0 , 2 );
int dec =  35 ;
strcpy(b,"\0");
b[ 0 ] = dec;//b='#\0'
Знак # - это ,выходит, и есть 0x23?
...
Рейтинг: 0 / 0
string & char*
    #34324372
==
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
==
Гость
oblomov
Знак # - это ,выходит, и есть 0x23?


Все точно, копейка в копейку

0x23==35.
...
Рейтинг: 0 / 0
string & char*
    #34324472
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При Debug показывает то \x35 , то # , вот я и запутался. Спасибо.
...
Рейтинг: 0 / 0
string & char*
    #34324477
oblomov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е.
При Debug показывает то \x23 , то # , вот я и запутался. Спасибо.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / string & char*
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]