obtaining ASCII values of input chars in c -
i intending create simple function take string input , output equivalent of string in ascii. plz help..
void cls(){ system("cls"); } void getascii(){ cls(); text(4); char a[94]={' ','!','"','#','$','%','&',"'",'(',')','*','+',',','-','.','/','0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?','@', 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','[',"'\'",']','^','_','`','a','b', 'c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','{','|','}','~'}; while(1){ char x[5000], *exitmsg = "quit"; gets(x); if(strcmp(x, exitmsg) == 0){ break; }else{ int = 0; for(i = 0; < strlen(x); i++){ int j = 0; for(j = 0; j < 94; j++){ if(x[i] == a[j]){ int xa = (a[j] + 32); printf("%d", &xa); } } } printf("\n"); } } }
a char 1 byte number. when represents ascii character number it. example when char x = 'a', saying char x = 65. 1 byte in memory representing x stores number 65. if did x+1 66 or 'b' depending on how print it. when tell print char ascii table , print character. if tell print decimal print 65. example:
char x = 'a'; printf("%d", x); this print 65. not need conversion table ascii values.
no need ascii arrays , loop inside code.
this
for(i = 0; < strlen(x); i++){ int j = 0; for(j = 0; j < 94; j++){ if(x[i] == a[j]){ int xa = (a[j] + 32); printf("%d", &xa); } } } can simplified to
for(i = 0; < strlen(x); i++) { printf("%d", x[i]); }
Comments
Post a Comment