Wie konvertiert man in C Integer in Char? [duplicate]

Lesezeit: 3 Minuten

Benutzeravatar von anik
anik

Wie konvertiert man in C Integer in Char?

  • Abstimmung zum Schließen als unklar. Oder vielleicht dasselbe wie: stackoverflow.com/questions/20026727/… ?

    – Ciro Santilli OurBigBook.com

    2. Juni 2015 um 18:22 Uhr

Benutzeravatar von Ofir
Ofir

Ein Zeichen in C ist bereits eine Zahl (der ASCII-Code des Zeichens), keine Konvertierung erforderlich.

Wenn Sie eine Ziffer in das entsprechende Zeichen umwandeln möchten, können Sie einfach eine ‘0’ hinzufügen:

c = i +'0';

Die ‘0’ ist ein Zeichen in der ASCll-Tabelle.

  • Die ‘0’ wird vom Compiler als Darstellung des ASCII-Codes des Nullzeichens interpretiert, und da in ASCII die Ziffern ‘0’ bis ‘9’ einen einfachen Bereich von Codes (48 bis 57 IIRC) füllen.

    Benutzer180247

    17. Februar 2010 um 9:20 Uhr

  • funktioniert nicht für i >=10

    – dina

    7. Dezember 2016 um 19:47 Uhr

  • @ user5980143 wahr, aber es ist nicht möglich, i>9 in a umzuwandeln Single verkohlen

    – Ofir

    8. Dezember 2016 um 6:31 Uhr

  • in einem swtich sagt: error case label wird nicht auf eine ganzzahlige Konstante reduziert, aber nicht in einem “if”

    Benutzer3402040

    15. Mai 2017 um 9:43 Uhr


  • int length = 10; char len = length + '0'; printf("%c", len); Das hat mir gegeben : für 58 auf dem ASCII-Diagramm nicht 10 dass ich wollte. Das ASCII-Diagramm zeigt, dass int 10 tatsächlich etwas ist, das LF (Zeilenvorschub) genannt wird.

    – mlSchüler33

    9. Februar 2020 um 8:22 Uhr

Benutzeravatar von ratty
rattig

Sie können die Bibliotheksfunktion atoi() ausprobieren. Auch sscanf() und sprintf() würden helfen.

Hier ist ein kleines Beispiel, um die Umwandlung einer Ganzzahl in eine Zeichenfolge zu zeigen:

main()
{
  int i = 247593;
  char str[10];

  sprintf(str, "%d", i);
  // Now str contains the integer as characters
} 

Hier für ein weiteres Beispiel

#include <stdio.h>

int main(void)
{
   char text[] = "StringX";
   int digit;
   for (digit = 0; digit < 10; ++digit)
   {
      text[6] = digit + '0';
      puts(text);
   }
   return 0;
}

/* my output
String0
String1
String2
String3
String4
String5
String6
String7
String8
String9
*/

  • Warum haben Sie im ersten Beispiel erklärt str[10] Anstatt von str[7] da es 6 Ziffern gibt und 1 für erlaubt '\0'?

    – IAbstract

    1. Mai 2015 um 14:41 Uhr

  • Was macht atoi haben damit zu tun?

    – AnT steht zu Russland

    6. Juli 2015 um 5:21 Uhr

  • atoi macht das Gegenteil von dem, was OP will.

    Benutzer376845

    6. April 2016 um 7:43 Uhr

  • letzteres Beispiel funktioniert nicht, wenn die Ziffer größer als 9 ist

    – kenan bilen

    4. September 2019 um 14:29 Uhr

Benutzeravatar von Amarghosh
Amarghosch

Weisen Sie einfach die zu int zu einem char Variable.

int i = 65;
char c = i;
printf("%c", c); //prints A

  • Sie müssen in Zeile 1 nach 65 ein Semikolon hinzufügen

    – Andreas

    28. Januar 2016 um 2:53 Uhr

Benutzeravatar von Deepak Yadav
Deepak Yadav

Um Integer in Char umzuwandeln, werden nur 0 bis 9 konvertiert. Wie wir wissen, ist der ASCII-Wert von 0 48, also müssen wir seinen Wert zum ganzzahligen Wert addieren, um ihn in das gewünschte Zeichen umzuwandeln

int i=5;
char c = i+'0';

So konvertieren Sie int in char:

int a=8;  
char c=a+'0';
printf("%c",c);       //prints 8  

So konvertieren Sie char in int:

char c="5";
int a=c-'0';
printf("%d",a);        //prints 5

Benutzeravatar von kannadasan
kannadasan

 void main ()
 {
    int temp,integer,count=0,i,cnd=0;
    char ascii[10]={0};
    printf("enter a number");
    scanf("%d",&integer);


     if(integer>>31)
     {
     /*CONVERTING 2's complement value to normal value*/    
     integer=~integer+1;    
     for(temp=integer;temp!=0;temp/=10,count++);    
     ascii[0]=0x2D;
     count++;
     cnd=1;
     }
     else
     for(temp=integer;temp!=0;temp/=10,count++);    
     for(i=count-1,temp=integer;i>=cnd;i--)
     {

        ascii[i]=(temp%10)+0x30;
        temp/=10;
     }
    printf("\n count =%d ascii=%s ",count,ascii);

 }

1420200cookie-checkWie konvertiert man in C Integer in Char? [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy