eXma » Diskutieren » Computer und Technik
Startseite - Veranstaltungen - Mitglieder - Suche
Vollständige Version anzeigen: ausgabe eines C-files in eine txt...
marco
Hallo leute...

ich habe in meinem programm folgende schleife:

for (i=0; i<6*N ;i++)
printf("%2d %2.5f %2.5f \n",i, C[i], C[i+6*N]);

wie bekomme ich es hin, dass er mir das direkt in ein txt-file schreibt?
ich will, dass ich das programm bloß ausführen muss und ich dann gleich mein txt.file habe...

danke m.
Yoris
hatte mich vertan...
NEO.POP
den speicherbefehl mit in die schleife schreiben, weiß allerdings nich mehr wie das geht
Zappelfry
Klick mich
mArVinTheRobot
Zitat(Zappelfry @ 26 Sep 2007, 14:49)


jo, musst Du aber dazuschreiben Seite 21f - wer liest sich schon ne Referenz durch wink.gif
wicked
CODE
FILE* myFile = fopen("foo.txt", "w");

for (i=0; i<6*N;i++) {
   fprintf(myFile, "%2d %2.5f %2.5f \n", i, C[i], C[i+6*N]);
}

fclose(myFile);
marco
Zitat(wicked @ 26 Sep 2007, 17:42)
CODE
FILE* myFile = fopen("foo.txt", "w");

for (i=0; i<6*N;i++) {
   fprintf(myFile, "%2d %2.5f %2.5f \n", i, C[i], C[i+6*N]);
}

fclose(myFile);

*


das gefällt mir... werds morgen mal ausprobieren...
was macht das "w" in dem fopen?
onkelroman
tippe auf: "öffnet" neues file zum reinschreiben..
wicked
jenau, "w" für write.
sonst bei solchen problemen lohnt sich oft der blick in sowas wie cppreference.com.
fehlerbehandlung fehlt oben natürlich noch.
stth
~> ./meinprogramm >> ein.txt

ich hab auch noch ein noob-c buch zuhause, das kannste haben...
bei www.cplusplus.com gibts schöne docs zu den standardlibraries
marco
Zitat(stth @ 27 Sep 2007, 10:09)
~> ./meinprogramm >> ein.txt
*

das kenn ich... aber ich wills direkt in meinem programm haben... damit ich das ding nur noch ausführen brauch und schwupps hab ich mein txt-file ohne diesen befehl...

ps: kennt sich jemand mit gnuplot aus und kann mir sagen, wie ich auch das in mein programm einbinden kann? quasi dann dieses txt-file plotten?
bis jetzt hab ich das immer in dem befehlsfenster gemacht, also

plot "test.txt" using 1:2 with lines, "test.txt" using 1:3 with lines

das soller am besten gleich selbst machen...
und ganz fett wäre es, wenn der mir auch die dinger als png ausgibt...

aber wie gesagt direkt im programm... sodass ich wirklich nur noch das ding ausführen muss und gleich das txt-file und die bilder hab...
da müßte es so ne schnittstelle geben, aber die check ich ni so ganz...

kann mir da noch jemand helfen?

danke...
lusch3
betreffs gnuplot hab ich letztens im ZIH nen haufen hefte rumgetragen in denen sich mit gnuplot auseinandergesetzt wurde. die kann man auch kaufen und sind nicht sonderlich kostspielig.
marco
Zitat(wicked @ 26 Sep 2007, 17:42)
CODE
FILE* myFile = fopen("foo.txt", "w");

for (i=0; i<6*N;i++) {
   fprintf(myFile, "%2d %2.5f %2.5f \n", i, C[i], C[i+6*N]);
}

fclose(myFile);

*


das hat super geklappt... genauso sollte es werden... danke nochmal...

gibt es für linux eine möglichkeit ein file zu schreiben, in dem mehrer konsolenbefehle drinstehen und ich nur noch dieses file aufrufen muss?
sprich:

cd ordner1/ordner2
./programm
./programm > text.txt
cp text.txt /ordner3./text2.txt

das steht alles drin und ich ruf dann nur noch dieses ding auf...
und alles wird gemacht...
Killerspieler
Na genau wie du gesagt hast:
erstell ein file mit vi wo du dann die befehle reinschreibst
CODE

cd ordner1/ordner2
./programm
./programm > text.txt
cp text.txt /ordner3./text2.txt

Dem dann x-rechte verpassen und ausführen.
marco
Zitat(Killerspieler @ 27 Sep 2007, 13:55)
Na genau wie du gesagt hast:
erstell ein file mit vi wo du dann die befehle reinschreibst
CODE

cd ordner1/ordner2
./programm
./programm > text.txt
cp text.txt /ordner3./text2.txt

Dem dann x-rechte verpassen und ausführen.
*

klingt ni schlecht. danke schonmal...
ABER:
ich sitz hier im uni-pool... und hab noch nie mit linux groß gearbeitet...
also wie mache ich das alles???
Killerspieler
Das script kannst du ja auch mit nem grafischen Editor erstellen, wenn du dich mit vi nicht auskennst. In die erste Zeile muss folgendes rein:
CODE
#!/bin/bash

Dann füge die Befehle ein. X - Rechte setzt du mit
CODE
chmod u+x <script>

marco
Zitat(Killerspieler @ 27 Sep 2007, 14:12)
Das script kannst du ja auch mit nem grafischen Editor erstellen, wenn du dich mit vi nicht auskennst. In die erste Zeile muss folgendes rein:
CODE
#!/bin/bash

Dann füge die Befehle ein. X - Rechte setzt du mit
CODE
chmod u+x <script>

*

und was muss das file für ne endung haben? exe? txt?
lusch3
1. du erstellst mit einem beliebigen editor dieses file
2. du öffnest ein terminal (alt+f2 "xterm" eingeben)
3. wechselst in das verzeichnis des files und tippst ein: chmod u+x file
4. führe das file aus smile.gif

€:
endung ist rille...dafür setzt du ja die rechte auf eXecutable smile.gif
Killerspieler
Die Endung ist so ziemlich egal, solange die Datei x-Rechte hat kannst du sie ausführen. Ich nehm meistens gar keine Endung aber als Erkennung kannst du ja .sh nehmen. happy.gif

hmm da war wohl einer schneller smile.gif
marco
Zitat(lusch3 @ 27 Sep 2007, 14:14)
1. du erstellst mit einem beliebigen editor dieses file
2. du öffnest ein terminal (alt+f2 "xterm" eingeben)
3. wechselst in das verzeichnis des files und tippst ein: chmod u+x file
4. führe das file aus smile.gif

€:
endung ist rille...dafür setzt du ja die rechte auf eXecutable smile.gif
*

cool geht... danke an alle... vorerst...
Keinstein
Das x-flag kann man auch mit einem Beliebigen Dateimanager setzen:
Rechtsklick auf die Datei und "Rechte" oder "Eigenschaften" o.ä. im Kontext-Menü auswählen.

Zum Thema Gnuplot: Da gibts irgendwo eine Bibliothek, die man nur noch einbinden muss. Weiß jetzt aber nicht, wie die heißt.

Generell gilt: Viele Probleme hat schon mal jemand vor Dir gehabt. Dann gibt es ggf. eine freie Bibliothek, die das kann. Dann hilft Google o.ä.

"gnuplot c library" liefert mir unter den ersten 10 Treffern u.a. folgende Adresse:

http://itp.tugraz.at/wiki/index.php/Numerische_Methoden

Viel Glück damit!