Also, ich habe eine char Array, was z.B. so aussieht:
char text] ="hallo,123456,test,45678";
nun möchte ich zb die 10. stelle des Arrays, von dem ich weiß, das es
immer eine int Zahl ist, in eine Integer Variable speichern...
Wie geht das?
Kons
moin,
der beitrag ist zwar schon etwas ölter aber vllt guckt ja doch noch jmd
rein...
ich habe ein array von strings gegeben:
char texte[ANZAHL][MAXLEN] = { "tümä", "zoäö", "yköa"};
und soll die umlaute zb. "ä" durch "ae" ersetzen.
im skript des profs gibt es diese funktion:
//--------------------------
int c;
while ((c = getchar())!= EOF)
{
switch(c)
{
case 0x84:
putchar('a');
putchar('e');
break;
case 0x94:
putchar('o');
putchar('e');
break;
case 0x81:
putchar('u');
putchar('e');
break;
default:
putchar(c);
}
//----------------------------
wie kriege ich den string der reihe nach zeichenweise ausgelesen um die
zeichen durch die whileschleife zu schicken.
getchar() fragt den user nach ner eingabe, diese soll aber nicht gemacht
werden, weil der string schon vorhanden ist.
meine überlegung war, die strings mit zwei for-schleifen durchzulaufen
und jedes zeichen von char in int umwandeln und dann in die
switchabfrage...
vllt hat ja jmd nen guten rat, ich wäre auf jeden fall sehr froh!
vielen dank im voraus.
Normalerweise nimmt man hierzu eine Schere oder eine Kopierfunktion,
extrahiert sozusagen die Zahl Netto, und
konvertiert den Ausschnitt bzw. den Auszug in eine Zahl.
Liegt die Zahl z.B. am Ende eines Bereiches, so kann man auch dessen
Adresse an atoi übergeben. Wichtig ist hierbei, dass keine Nichtzahlen
folgen, bzw. sich im übergeben Bereich befinden.
Muss aber nicht so machen...
Tim S. schrieb:> der beitrag ist zwar schon etwas ölter aber vllt guckt ja doch noch jmd> rein...
Deine Frage hat sehr wenig mit dem Thema zu tun.
Nach der Zeit ist ein neuer Thread sehr empfehlenswert.
Ein char ist eine Ganzzahl mit kleinem Wertebereich.
Ob du 65 oder 0x41 oder 'A' schreibst ist egal, gibt (bei ASCII)
denselben Wert.
Bei Umlauten ist es schwieriger, deren Wert sehr abhängig vom gewählten
Code/Codepage ist.
Dein größeres Problem wird sein, dass du jetzt 2 Zeichen anstelle von
einem unterbringen musst.
Tim S. schrieb:> der beitrag ist zwar schon etwas ölter aber vllt guckt ja doch noch jmd> rein...>> ich habe ein array von strings gegeben:>> char texte[ANZAHL][MAXLEN] = { "tümä", "zoäö", "yköa"};>> und soll die umlaute zb. "ä" durch "ae" ersetzen.
Und was hat das jetzt mit dem ursprünglichen Thema zu tun?
> meine überlegung war, die strings mit zwei for-schleifen durchzulaufen> und jedes zeichen von char in int umwandeln und dann in die> switchabfrage...
Wozu zwei Schleifen? Und der char wird ganz von selbst in int
umgewandelt. Da muss man nichts tun. Du musst eigentlich nur den Teil
zwischen den runden Klammern in der while-Schleife ändern, sonst nichts.