Hallo,
ich hab eine Frage zum verschieben und versetzen von Zeichen in einem
Array.
Wenn mein Feld eine bestimmte Größe hat, so soll es verändert werden.
Ich hab nicht viel Erfahrunfg in C, aber mit Hilfe von strncsp() ließe
sich ja ein um das andere in ein Array schreiben und dann könnte man den
jeweiligen Punkt oder Null dazwischen einfügen. Gruß
for( i = 0; i < strlen(daten); i++)
{
parameters[j] = daten[i];
j++;
if(strlen(daten) == 1 && i == 0)
{
parameter[j] = '.';
j++;
parameter[j] = '0';
j++;
}
if( strlen(daten) == 2 && i == 0)
{
parameter[j] = '.';
j++;
}
if(strlen(daten) == 3 && i == 1)
{
parameters[j] = '.';
j++;
}
}
Körni schrieb: > Wenn mein Feld eine bestimmte Größe hat, so soll es verändert werden. > Ich hab nicht viel Erfahrunfg in C, aber mit Hilfe von strncsp() ließe > sich ja ein um das andere in ein Array schreiben und dann könnte man den > jeweiligen Punkt oder Null dazwischen einfügen. Gruß Stell dich mal ganz dumm. Nimm an, du bist nicht der mit der Frage. Nimm weiters an, du hast keine Ahnung davon was der Fragesteller macht oder welche Aufgabenstellung er zu lösen versucht. Und dann lies deinen Text noch einmal. Kennst du dich aus, was eigentlich gefragt ist, bzw. worum es in der Frage geht? Wenn ja, dann bist du ein Hellseher.
Ups, Ok das ist wirklich sch.... erklärt. Ich möchte gerne empfange Daten die in char daten[6] abgelegt werden verändern. Alo wenn nur 1 Zeichen bspw. '8' vorliegt, will ich daraus 8.0 machen, wenn ich '88' habe 8.8 und bei '888' will ich gerne 88.8 daraus machen. Diese Zeichen liegen in daten[6]. Nun möchte ich gerne diese Zeichen wie vorhin beschrieben modifizieren. Ich habe das mit der for-schleife probiert, indem ich die Zeichen aus "daten" in "parameter" schreibe und entsprechend ihrer Länge dann verändere. Wie gesagt habe ich in C nicht allzu viel Erfahrung und wollte fragen, ob es dazu eine bessere Lösung gibt, wie die von mir oben beschriebene. VG
Körni schrieb: > Alo wenn nur 1 Zeichen bspw. '8' vorliegt, will ich daraus 8.0 machen, > wenn ich '88' habe 8.8 und bei '888' will ich gerne 88.8 daraus machen. Das ist kaputt. Sinnvoller, weil einheitlicher, wäre '8' -> 0.8
Machs doch einfach mit strncat( parameter, daten, 1); strcat(parameter, "."); strncat(parameter, daten+1,1); ferti! ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.