>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ( int argc, char *argv[] )
{
    char *string = argv[1];
    int i;
    char* p = string;
    for (i=0; i<strlen(string); i++)
    {
        int c;
        for (;p[0] && p[1] && sscanf(p, "%2x", &c); p += 2) printf("%c", c);
    }
    printf("\n");
}

결과

이 코드는 인수 (16 진수)를 전달할 때 잘 작동하고 문자열을 생성합니다. 함수와 같은 것이 필요합니다. 16 진수 값이 전달되면 문자열을 제공합니다.

함수를 사용하려고했지만 출력이 없습니다.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fun (char * s)
{
    char *string = s;    
    int i;
    char* p = string;
    for (i=0; i<strlen(string); i++)
    {
        int c;
        for (;p[0] && p[1] && sscanf(p, "%2x", &c); p += 2) printf("%c", c);
    }
    printf("\n");
}
int main()
{
    fun("Hello");
}

결과

PS : 제발 쉬세요. 나는 이것에 익숙하지 않다.

  • 답변 # 1

    atoi 를 사용할 수 있습니다  그리고 snprintf  해결하십시오.

    따라 오는 code  작동 할 수 있습니다 :

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main (int argc, char *argv[])
    {
        if (argc != 2)
            return -1;
        char string[32];
        snprintf(string, sizeof string, "0x%08X", atoi(argv[1]));
        printf("%s\n",string);
        return 0;
    }
    
    

  • 이전 htaccess 외부 링크 PHP를 다시 쓰는 방법
  • 다음 python - Django REST Framework에서 PUT과 PATCH의 차이가 없습니다