Archiv verlassen und diese Seite im Standarddesign anzeigen : Variablentypen-Verknüpfung
Nochmals Grüße an alle!
Weiß, dass ich Einsteiger bin O:) - Daher offenbaren sich mir immer neue Probleme:
Ist es möglich an einen String eine int bzw double Variable zu hängen?
Bsp.: String("Part"), Int("01") -> "Part01"
Die int-Variable ist der Counter einer for-Schleife.
Meine Idee:
"char name[250];
int i;
for(i=0; i<5; i++)
{
name[250]=strcat(name,i);
}"
Es entstehen keine Fehler beim compilieren-Programm stürzt nur ab.
Danke!!
Hi Sveni
strcat(char *dest, const char *src);
Hängt an einen String einen anderen dran.
Da strcat als 2. Parameter auch einen Nullterminierten String erwartet kannst Du nicht einfach einen integer übergeben.
Dazu must Du vorher den Integer in einen String umwandeln
z.B. mit itoa(int value, char *string, int radix);
Dafür solltest Du einen 2. String mit
char Intstring[50];
definieren und den dann mit
itoa(i,Intstring,10);
aufrufen (Die 10 bedeutet 10er System)
Was in Deinem Programm nicht nötig ist, ist die Zuweisung des strings da in name bereicht das Ergebnis reingeschrieben wird.
char name[250];
char Intstring[50];
int i;
for(i=0; i<5; i++)
{
strcat(name, itoa(i,Intstring,10) );
}
Damit müßtest Du Erfolg haben.
In Standard C ist das alles noch etwas mühsam.
Schau dir mal den Befahl fprintf an. Vielleicht erfüllt der deine Anforderungen etwas einfacher.
Babbage
sprintf() ist Dein Freund.
thx ogni42
ja, logisch sprintf, fprintf ist für streams.
Man wird halt auch nicht jünger.
Ja, wem sagst Du das? Muss mir schon die Seite merken, zu der ich morgen aus dem Bett aufstehe :D
pebisoft
08.08.2006, 17:54
sprintf() sollte man für den avr nicht nehmen, ist sehr speichertintensive und langsam.
Was nimmt man stattdessen - außer selber schreiben, was bei der Funktionalität von sprintf, am Ende wahrscheinlich ebenfalls "speicherintensiv und langsam" ist?
Das zusätzliche Problem bei den ganzen Befehlen mit einem "Format-Specifier" (printf, fprintf, sprintf, scanf, etc) ist eben, daß dieser Format String ja auch erstmal interpretiert werden muß. Und das braucht (zusätzlich).
Wenn also beim kompilieren schon klar ist, was wie konvertiert werden muß, kann man diese Arbeit einsparen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.