Integer in String schreiben

Merlin732

Erfahrenes Mitglied
hallo,

ich habe ein Problem in c, für das ich bisher keine Lösung gefunden habe.

Folgendes:

Eine Schleife läuft und ich möchte die aktuellen Indizes in einen String schreiben.

Code:
for(i=0;i<9;i++) {
  for(j=0;j<9;j++) {
    
    string = "ij"; // :P, also statt i und j sollen dort eben die aktuellen Werte stehen

  }
}

Kann mir jemand helfen?
 
Code:
char pos1[2];
char pos2[3];
int i,j;

for(i=0;i<9;i++) {
  for(j=0;j<9;j++) {
	sprintf(pos1,"%d%d",i,j);
	sprintf(pos2,"f%d%d",i,j);

        ....
  }
}

Hallo, ich denke, dass es so klappen könnte.
ABER wieso steht der Wert in pos2 korrekt drin und pos1 ist leer?
Sieht jemand einen Fehler?

P.S: In der Schleife passiert noch mehr, dass pos1 und pos2 also wieder gelöscht und neu beschrieben werden ist gewollt.
 
Hi.

Du musst bedenken, das ein C-String mit einem \0 Zeichen terminiert wird. Auch die sprintf Funktion fügt natürlich ein terminierendes \0 Zeichen hinten an.

Gruß
 
Zurück