2013-07-01 3 views
-2

으로 출력됩니다. 루프 패킷 [바이트]을 시도하고 결과를 변수에 넣으 려하지만 몇 시간 동안 변수에 넣으려고했습니다.C printf가 변수

이것은 출력 중이며 작동 중입니다. strcat, strcpy 및 sprintf를 사용하여 출력을 변수와 성공에 넣으려고 시도했습니다. 임 분실 원인이 도움이 될 것입니다이 코드의 조각

i = 54; 
do { 
printf("%c", Buffer[i]); 
i++; 
} while(i != Size); 
+7

의이 작동하지 않는 다른 코드를 보자 – Mark

+3

'sprintf (OutputBuffer, "% c", Buffer [i])'가 작동하지 않습니까? 변수에 문자열을 저장 하시겠습니까 아니면 다른 것을 저장 하시겠습니까? – macduff

+0

ur 답장을 보내 주셔서 감사합니다. (str, Buffer [i])가 작동하지 않는 이유 –

답변

2

하나 :), 내가 무엇을하시기 바랍니다 감사를 제안하지만 당신은 매우 불분명 질문을하고 그것은 당신이하려는 참으로 이해하기 어렵다.

BTW 당신은 ​​다른 사람이 Buffer에 따라 달라집니다로 실제로 (그들 모두를 초기화되지 여기 Buffer를 볼 수 있습니다. 출력에 일부 데이터를 얻을 의도였다.

#include <stdio.h> 

int main(int argc, char **argv) 
{ 
    const int Size = 100; 
    unsigned char Buffer[Size]; 
    unsigned char OutBuffer[Size]; 
    unsigned char PrnBuffer[Size*3]; 

    /* I have understanding you tried to output chars to OutBuffer but 
     you just need to iterate OutBuffer bytes the same way... */ 
    int i = 54; 
    int j = 0; 
    do { 
     sprintf(&(OutBuffer[j]), "%c", Buffer[i]); 
     /* But why simply not outBuffer[j] = Buffer[i]; ?? */ 
     i++; 
     j++; 
    } while(i != Size); 

    /* And now print this trash... */ 
    for (i = 0; i < j; ++i) 
    { 
     sprintf(&(PrnBuffer[i*3]), "%02x ", OutBuffer[i]); 
    } 
    printf("%d: %s\n", j, PrnBuffer); 

    return 0; 
} 
관련 문제