我遇到了一些問題,而我用toascii()
其轉換任何INT爲ASCII在C ASCII,但不是int < 10,它returens \x1
或\x2
等,但不是ASCII符號,它應該代表。所以,請任何幫助。六角使用Visual Studio的
我的代碼是這樣的:
char* PostUnpack()
{
char* InStr = "04214FABF666DCE7";
int Len = strlen(InStr);
int Count, OutCount = 0;
int IntToHex;
char HexToChr[3] = "";
char TempCnv;
char RetStr[20] = "" ;
for(Count = 0; Count < Len; Count++)
{
strncpy(HexToChr,&InStr[Count],2);
IntToHex = (int) strtol(HexToChr, NULL, 16);
TempCnv = IntToHex;
toascii(TempCnv);
RetStr[OutCount] = TempCnv;
strncpy(HexToChr, "", strlen(HexToChr));
Count++;
OutCount++;
}
return RetStr;
實際上並調試如:
\x4!O«öfÜç
,而應該是:
!O«öfÜç
,因爲我不想打印輸出,但我使用返回值被一些加密方法使用,現在當我通過這個不正確的返回VA假使它做出不正確的加密。
什麼是你所期望的結果? – BLUEPIXY
大多數人甚至沒有一個常用的符號。它是\ 0,\ b並且你想要嗎? –
請顯示代碼和輸出,以便我們可以幫助您。 – Badda