문자열을 만드는데...

ymkim00의 이미지

예를들어 아래와 아래와 같은 코드가 있을때..

sprintf(buffer,"%c%c%c%c......%c",0x00,0x00,0x00,0x01,.....,0x01);
// 이렇게 하는 이유는 아크시를 만드는게 아니라 바이너리를 만들기때문입니다.

만약 캐릭터가 64개라면.. 64개의%c를 써야 하는건가요?
넘 무식한거 아닌가요?

그래서 아래와 같은 방법을 썼습니다.

memcpy(buffer,&buffer1,4);
memcpy(buffer[4],buuffer2,4);
근데 정상적으로 입력이 안됩니다.
모 존 방법이 없을까여?

wowcode의 이미지

buffer1과 buffer2 의 타입이 뭔가요?

char * 혹은 array라면 아래와 같이 하면 될 것 같습니다

memcpy(buffer,buffer1,4);
memcpy(&buffer[4],buuffer2,4);

moonzoo의 이미지

반복된는 일을 처리할려면 반복문을 사용하시면 될듯합니다.

for( i = 0 ; i < 64 ; i++)
{
	if( i <= 4) buff[i] = 0x00;
	else buff[i] = 0x01;
}
yamainu의 이미지

sizeof(char)*64라는 크기만큼 일정한 값으로 설정하려면...

memset(buffer,0x00,sizeof(char)*64)

유사품..bzero

Programmers never die: They just GOSUB without RETURN.

세벌의 이미지

ymkim00 wrote:

// 이렇게 하는 이유는 아크시를 만드는게 아니라 바이너리를 만들기때문입니다.

아크시가 뭔가 한참 생각했습니다. 아스키의 오타인 듯. -.-

pebiman의 이미지

좀 귀찮으시더라도
a[] = {..........................}

이렇게 만드는게 보기에도 좋고, 나중에 관리하기 편하더라구요
그냥 생각나는 대로 적어봤습니다.

쓰레기는 쓰레기통에...