Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   проблема со строками C++ (https://forum.antichat.xyz/showthread.php?t=96676)

fire64 16.12.2008 17:24

проблема со строками C++
 
суть проблемы такая

есть код следующего вида


PHP код:


#define MRSG  "\x31\xFF\x30\x2E\x30\x2E\x30\x2E\x30\x3A\x30\x00"


int main int argcchar **argv )
{

    
char *parametr = ( argv[1] );

    
char connect[250];

    
strcat (connectMRSG );
    
strcat (connectparametr);

         return  
0;



в результате объединения строк получается следующее

\x31\xFF\x30\x2E\x30\x2E\x30\x2E\x30\x3A\x30 + parametr

тоесть байт x00 из строки исключается


вопрос, как сделать

\x31\xFF\x30\x2E\x30\x2E\x30\x2E\x30\x3A\x30\x00 + parametr

nerezus 16.12.2008 17:27

Скопировать первую, потом ноль, потом вторую

только вот в "строках" C не может быть 0, поэтому это называется не строкой, а буффером.

fire64 16.12.2008 17:35

ок, из MRSG убрал ноль

сделал так

PHP код:


char connect
[250];

strcat (connectMRSG );
strcat (connect"\x00" );
strcat (connectparametr); 

толку нет, ноля все равно нет

bons 16.12.2008 18:11

Код:

#define MRSG  "\x31\xFF\x30\x2E\x30\x2E\x30\x2E\x30\x3A\x30\x00"
...
memcpy(connect, MRSG, sizeof(MRSG)-1);
memcpy(connect+sizeof(MRSG)-1, parametr, strlen(parametr));
...

memcpy находится в string.h


Время: 00:27