Comment imprimer un caractère et sa valeur ASCII équivalente dans C?Impression des caractères et de leur code ASCII dans C
Répondre
Ceci affiche toutes les valeurs ASCII:
int main()
{
int i;
i=0;
do
{
printf("%d %c \n",i,i);
i++;
}
while(i<=255);
return 0;
}
et ceci affiche la valeur ASCII pour un caractère donné:
int main()
{
int e;
char ch;
clrscr();
printf("\n Enter a character : ");
scanf("%c",&ch);
e=ch;
printf("\n The ASCII value of the character is : %d",e);
getch();
return 0;
}
Votre code imprime la valeur décimale créée en convertissant le caractère en un int. Cela peut être le code ASCII sur certains systèmes, mais encore une fois, il ne peut pas. –
Pourquoi le programme ci-dessus n'imprime pas les caractères ASCII de 127 à 160? – CodeCodeCode
Assez sûr que ASCII s'arrête à 127 – sreya
Essayez ceci:
char c = 'a'; // or whatever your character is
printf("%c %d", c, c);
% c est la chaîne de format pour un seul caractère et% d pour un chiffre/entier. En convertissant le caractère en nombre entier, vous obtiendrez la valeur ASCII.
Vous n'avez pas besoin de transtyper en 'int', puisque les promotions de type standard vont promouvoir' c' dans un 'int' automatiquement. –
Oups - merci pour la capture. Était probablement juste en train d'essayer d'être trop explicite :) – MBillock
Ce lit une ligne de texte à partir de l'entrée standard et imprime les caractères de la ligne et leurs codes ASCII:
#include <stdio.h>
void printChars(void)
{
unsigned char line[80+1];
int i;
// Read a text line
if (fgets(line, 80, stdin) == NULL)
return;
// Print the line chars
for (i = 0; line[i] != '\n'; i++)
{
int ch;
ch = line[i];
printf("'%c' %3d 0x%02X\n", ch, ch, (unsigned)ch);
}
}
'% X' attend un ** unsigned ** int. –
@ NisseEngström - Code corrigé, pour le vraiment pédant. Oui, c'est toujours une bonne idée d'utiliser 'unsigned char []' pour les tampons de texte. –
Cela devrait fonctionner dans tout système C, non seulement ceux qui sont ASCII ou UTF- 8 sur la base:
printf (" Q is decimal 81 in ASCII\n");
Vous avez demandé à un omble chevalier; l'autre 96 d'entre eux sont laissés comme un exercice pour le lecteur.
Pour imprimer toutes les valeurs ascii de 0 à 255 en utilisant en boucle.
#include<stdio.h>
main()
{
int a;
a=0;
while(a<=255)
{
printf("%d = %c\\n",a,a);
a++;
}
getch();
}
#include"stdio.h"
#include"conio.h"//R.M.VIVEK coding for ascii display values
void main()
{
int rmv;
for(rmv=0;rmv<=256;rmv++)
if(printf("%c",rmv))
getch();
}
Chars dans les guillemets simples ('xxxxxx'), lors de l'impression en décimal devrait afficher sa valeur ASCII.
int main(){
printf("D\n");
printf("The ASCII of D is %d\n",'D');
return 0;
}
Sortie:
% ./a.out
>> D
>> The ASCII of D is 68
j'utilisais "pour" C'est ma solution:
using System;
using System.Text;
class PrintASCIITable
{
static void Main()
{
byte symbols = 255;
for (int i = 0; i < symbols; i++)
{
Console.WriteLine((char)i);
}
}
}
Rien ne peut être plus simple que ce
#include <stdio.h>
int main()
{
int i;
for(i=0 ; i<=255 ; i++) /*ASCII values ranges from 0-255*/
{
printf("ASCII value of character %c = %d\n", i, i);
}
return 0;
}
#include<stdio.h>
#include<conio.h>
void main()
{
int i;
char ch;
clrscr();
printf("\t Enter a Value: ");
scanf("%c",&ch);
i=0;
while(i<=ch)
{
printf("\t %d Is %c \n",i,i);
i=i+1;
}
getch();
}
Salut, merci pour votre réponse. L'affiche originale semble être un débutant, pourriez-vous expliquer chaque étape de votre code et leur implication? par exemple, en utilisant 'conio.h' votre code est clairement orienté Microsoft car cet en-tête n'est pas dans le standard C ni POSIX. – bufh
Aussi, vous pouvez utiliser comme ceci (C++):
int main(){
int x;
cin >> x;
cout <<(char)x; // In the form of character
char a;
cin >> a;
cout << (int)a; // In the form of `Ascii` code
}
S'il vous plaît modifier la mise en forme de votre réponse! – jogo
Qu'est-ce que cela a à voir avec C? :) – animaonline
- 1. Obtention et impression de caractères dans C?
- 2. C++ caractères Ascii étendus
- 3. Problème de support de caractères - Comment traduire des caractères ASCII plus élevés en caractères ASCII inférieurs
- 4. Comment convertir les caractères C# à leur représentation code hexadécimal
- 5. Impression de caractères Symbian
- 6. chemins de fichier avec des caractères non-ascii et FileInfo en C#
- 7. AS3: Comment convertir le code ASCII en caractères actionscript
- 8. Jeu de caractères Oracle ASCII - Extensions .Net
- 9. Sortie du compteur montrant les caractères ASCII
- 10. OCR - la plupart des caractères ASCII "différents" ou "reconnaissables"?
- 11. problème avec committting fichiers texte avec des caractères non-ascii
- 12. HTML code spécial à ASCII
- 13. C/C++: Comment convertir 6bit ASCII en 7bit ASCII
- 14. Supprimer tous les caractères non-ASCII de la chaîne
- 15. Comment écrire des caractères non-ASCII en utilisant echo?
- 16. Valeur ASCII de sortie C++
- 17. Forcer C# à utiliser ASCII
- 18. Impression des catégories et sous catégories Seul
- 19. Gestion des données de référence de base de données et de leur code associé
- 20. onglets dans leur propre processus avec C# et WinForms
- 21. Comment traiter une chaîne ASCII comme unicode et annuler l'échappement des caractères d'échappement en python?
- 22. Comment gérer tous les caractères ASCII (y compris les caractères spéciaux regex) dans une regex Perl?
- 23. Impression de copies papier du code
- 24. Création/ouverture d'événements en C++ et vérification de leur déclenchement
- 25. Caractères Unicode dans MySQL retournant différentes valeurs de code de caractères en PHP et ASP
- 26. fopen non-ascii caractère erreur
- 27. Transférer des caractères ascii étendus avec un codage inconnu vers un XMLRPC Twisted à partir de C#
- 28. Comment les caractères ASCII sont-ils stockés en mémoire?
- 29. Interface Python à PayPal - urllib.urlencode caractères non-ASCII défaut
- 30. C: Impression grand nombre
Jusqu'à présent, il semble y avoir pas de bonne réponse parmi les 12 réponses.Beaucoup échouent à limiter les valeurs à la plage 0 à 127 car ASCII est un encodage 7 bits, et jusqu'à présent aucun n'a résolu le problème que la valeur numérique d'un caractère en C ne doit pas être la valeur * ASCII *! Le système/compilateur pourrait également utiliser quelque chose comme le codage EBCDIC, alors la valeur numérique d'un 'a' ne serait pas la valeur ASCII d'un 'a' dans C. – BlackJack