2015-10-04 36 views
-2

如果我有一個字符串:
char cInputString[] = "Hello World";

我想通過它來進行迭代,並得到每個字符,我怎麼這個值寫在代碼中的變量,我可以改用到終端的ASCII值?所以在第一輪我有一個變量ASCIIValue = 72;如何將字符的ASCII值讀入C中的變量?

+6

提示:'char'是一個整數類型! – Olaf

+0

int H =(int)cInputString [0];其餘的類似。 – Ritesh

+0

「for」循環將是一個很好的開始。 – OldProgrammer

回答

0

變量是asciiValue這裏是你的代碼:(我測試)

#include<stdio.h> 
#include <string.h> 

int * getASCIIValue(char *array) { 
    char c; 
    int i, ascii; 
    int result[100]; 


    for(i=0; array[i]; i++) { 
     ascii = (int)array[i]; 
     result[i] = ascii; 
    } 

    return result; 
} 

void main() 
{ 
    char cInputString[] = "Hello World"; 
    int asciiValue[100], i; 


    int *arr = getASCIIValue(cInputString); 

    for(i=0; i<strlen(cInputString); i++) { 
     asciiValue[i] = arr[i]; 
    } 

    for(i=0; i<strlen(cInputString); i++) { 
     printf("%d", asciiValue[i]); 
    } 

    system("pause"); 
} 
+0

輔助陣列'結果[]'供應沒有益處和它限制正確使用尺寸100或更小的字符串。只要'printf(「%d」,cInputString [i]);'會做。 – chux

+0

@chux,他想要一個變量,而不是在終端上打印出來。 – 2015-10-04 15:45:24

+0

正如標題所說的「如何讀取一個字符...的ASCII值」,即意味着OP想讀一些輸出,如在終端打印出來。代碼已經具有變量'cInputString []',其中包含ASCII值。複製到'result []'給出OP 2副本。 – chux

0

的ASCII值是字符串中的每個字符的值。只需索引字符串即可檢索它們。要

for (unsigned int idx = 0; idx < strlen(cInputString); idx++) { 
    ASCIIValue = cInputString[idx]; 
} 
+1

不是'size_t'而不是'unsigned int'更好嗎? –

+1

儘管此代碼可以回答這個問題,提供有關爲什麼和/或如何代碼回答了這個問題提高了其長期價值的其他方面。 – JAL

2
for (size_t idx = 0; idx < strlen(cInputString); idx++) { 
    printf("ascii of %c = %d \n",cInputString[idx],cInputString[idx]); 
} 
+1

不是'size_t'而不是'unsigned int'更好嗎? –

相關問題