C: Hilfe bei Programm (strings umwandeln)

Schnelle objektorientierte, kompilierende Programmiersprache.
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C: Hilfe bei Programm (strings umwandeln)

Beitrag von Xin » Fr Sep 13, 2013 2:42 pm

Monkey101 hat geschrieben:Dann noch kurz als Bonus...wie müsste ich denn meine Schleife ändern damit das richtig funktioniert?
?

Es klappt und dann die Frage, was Du tun musst, damit es richtig funktioniert?
Die Schleife mit den zwei Indizes sieht für mich richtig aus, sofern Du beide korrekt initialisiert hast.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Monkey101
Beiträge: 15
Registriert: Do Sep 12, 2013 1:53 pm

Re: C: Hilfe bei Programm (strings umwandeln)

Beitrag von Monkey101 » Fr Sep 13, 2013 2:47 pm

Nein^^.
Hatte jetzt das gemacht:

Code: Alles auswählen

    char * st = argv[1];

Aber du meintest ja noch:
Xin hat geschrieben:Du willst ja nur lesen, da brauchst Du den Text nicht zu kopieren (Kopieren müsstest Du allerdings mit einer While-Schleife machen, wie Du es richtig angedeutet hast - oder mit strcpy()).
Das Kopieren hatte ich ja mit dieser Schleife probiert:

Code: Alles auswählen

    while (argv[1][k] != '\0'){
          st[k]=argv[1][k];
          k++;

       }
Aber das klappte ja nit...mich würd nur interessieren wie es gehen würde.

Das Programm läuft jetzt mit dem pointer auf argv[1] :)

mfg Monkey101

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C: Hilfe bei Programm (strings umwandeln)

Beitrag von Xin » Fr Sep 13, 2013 3:00 pm

Monkey101 hat geschrieben:Nein^^.
Hatte jetzt das gemacht:

Code: Alles auswählen

    char * st = argv[1];

Aber du meintest ja noch:
Xin hat geschrieben:Du willst ja nur lesen, da brauchst Du den Text nicht zu kopieren (Kopieren müsstest Du allerdings mit einer While-Schleife machen, wie Du es richtig angedeutet hast - oder mit strcpy()).
Das Kopieren hatte ich ja mit dieser Schleife probiert:

Code: Alles auswählen

    while (argv[1][k] != '\0'){
          st[k]=argv[1][k];
          k++;

       }
Aber das klappte ja nit...mich würd nur interessieren wie es gehen würde.

Das Programm läuft jetzt mit dem pointer auf argv[1] :)
Weil Du in der Version mit dem Pointer die Indizes i und j verwendest und hier nur einen Index k? ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Monkey101
Beiträge: 15
Registriert: Do Sep 12, 2013 1:53 pm

Re: C: Hilfe bei Programm (strings umwandeln)

Beitrag von Monkey101 » Fr Sep 13, 2013 3:12 pm

Nee das war wieder mein kläglicher Versuch den Inhalt von argv[1] in st[] zu kopieren.
Mit strcpy() dürfte das ja theoretisch nicht klappen wiel argv mehrdimensional ist und st nur eindimensional oder?

Das mit dem schreiben von den Operanden in Arrays würde erst danach kommen.
Habs ja dank deiner Hilfe jetzt mit

Code: Alles auswählen

char * st=argv[1]

gemacht.

Würde mich nur interessieren ob man, anstatt den Zeiger auf den ersten Buchstaben zu kopieren, auch den Stringinhalt in nen 1.Dimension Array zu kriegen.
Dafür war die while-Schleife gedacht.
Die sollte den String aus Zeile 2. (also z.B. "5+6") auf den Array st kopieren.

Das wie du mit dem pointer auf argv[1] zu lösen is viel eleganter und praktischer...aber mir lässts keine ruhe ob ich auch den Wert raus kopieren kann mit ner Schleife.

mfg Monkey101

edit: Kann auch gerne nen größeres Code-stück posten vllt wird meine Idee dann klarer^^.

Monkey101
Beiträge: 15
Registriert: Do Sep 12, 2013 1:53 pm

Re: C: Hilfe bei Programm (strings umwandeln)

Beitrag von Monkey101 » Fr Sep 13, 2013 4:56 pm

Naja soooo wichtig ist es jetzt auch nicht.
Läuft ja alles wie es soll :)

Also ich bedanke mich vielmals für deine geduldige Hilfe und wünsche noch ein schönes Wochenende :D

mfg Monkey101

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C: Hilfe bei Programm (strings umwandeln)

Beitrag von Xin » Fr Sep 13, 2013 5:19 pm

Monkey101 hat geschrieben:Nee das war wieder mein kläglicher Versuch den Inhalt von argv[1] in st[] zu kopieren.
Mit strcpy() dürfte das ja theoretisch nicht klappen wiel argv mehrdimensional ist und st nur eindimensional oder?
Doch, das geht, Du musst Dir halt nur aussuchen, welches argv Du nimmst.

Code: Alles auswählen

strcpy( st, argv[1] );
Und hinter st muss echter Speicher stehen. st ist benutzbar wie ein Zeiger, aber der Zeiger muss auch auf gültigen Speicher zeigen. Das ist bei einem Array der Fall, ein Zeiger muss erst initialisiert werden, damit man nicht auf ungültigen Speicher schreibt.
Monkey101 hat geschrieben:Würde mich nur interessieren ob man, anstatt den Zeiger auf den ersten Buchstaben zu kopieren, auch den Stringinhalt in nen 1.Dimension Array zu kriegen.
Dafür war die while-Schleife gedacht.
Die sollte den String aus Zeile 2. (also z.B. "5+6") auf den Array st kopieren.

Das wie du mit dem pointer auf argv[1] zu lösen is viel eleganter und praktischer...aber mir lässts keine ruhe ob ich auch den Wert raus kopieren kann mit ner Schleife.[/code]
Dann schreib's doch mal.
Monkey101 hat geschrieben:Naja soooo wichtig ist es jetzt auch nicht.
Läuft ja alles wie es soll :)

Also ich bedanke mich vielmals für deine geduldige Hilfe und wünsche noch ein schönes Wochenende :D
Der Vorteil an einem Forum ist, dass andere auch antworten können (*wink*), aber wir wachen gerade erst aus dem Sommerloch auf. ^^

Ich hingegen muss auch schonmal was tun und kann nicht nur am Rechner sitzen, da ist dann leider auch schonmal etwas Geduld gefragt. ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Monkey101
Beiträge: 15
Registriert: Do Sep 12, 2013 1:53 pm

Re: C: Hilfe bei Programm (strings umwandeln)

Beitrag von Monkey101 » So Sep 15, 2013 3:30 pm

Hallo :)

Wieder mal Danke für die Antwort^^.
Habs jetzt auch mit der strcpy()-Funktion zum laufen bekommen.
Xin hat geschrieben:Der Vorteil an einem Forum ist, dass andere auch antworten können (*wink*), aber wir wachen gerade erst aus dem Sommerloch auf. ^^

Ich hingegen muss auch schonmal was tun und kann nicht nur am Rechner sitzen, da ist dann leider auch schonmal etwas Geduld gefragt. ;-)
So war das nicht gemeint...hatte den Beitrag nur noch schnell geschrieben weil ich erst wieder heute am Rechner bin und dir auch nicht unbedingt noch mehr Zeit stehlen wollte als ich es ohnehin schon gemacht hab^^.

Also ich bedanke mich nochmal vielmals für die gute und geduldige Hilfe (hab aufjedenfall nen paar Sachen draus mitgenommen) :mrgreen:
Wenn ich mal wieder nicht weiter komme wird man mich bestimmt nochmal wiedersehen hier :P

Ich wünsche noch einen schönen Sonntag,

mfg Monkey101

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C: Hilfe bei Programm (strings umwandeln)

Beitrag von Xin » Mo Sep 16, 2013 9:44 am

Monkey101 hat geschrieben:Also ich bedanke mich nochmal vielmals für die gute und geduldige Hilfe (hab aufjedenfall nen paar Sachen draus mitgenommen) :mrgreen:
Wenn ich mal wieder nicht weiter komme wird man mich bestimmt nochmal wiedersehen hier :P
Ein Forum ist ein Geben und Nehmen. Lerne weiter programmieren und beantworte Fragen, sobald Du kannst. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten