[gelöst] C log-Datei erzeugen - Anfänger

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

[gelöst] C log-Datei erzeugen - Anfänger

Beitrag von debianix » 23.01.2014 15:04:48

Hi!

Ich lerne gerade C . Folgder Code soll eine Zeile von der Konsole einlesen und diesen dann mit dem Zeitstempel in einer log-Datei speichern.

Leider öffnet sich das Terminal NICHT... es wird nur die reports.log erzeugt und der Zeitstempel eingefügt... anstelle der Textes ist eine "seltsames" Zeichen > kommt vermutlich von %s aber ohne ein sich öffnendes Terminal kann ich ja nichts eingeben :wink: ...

Hier der Code und DANKE für eure Mühe...

Code: Alles auswählen

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

// Diese Funktion liefert einen string der das aktuelle Datum und die aktuelle Uhrzeit enthält
char* jetzt() {
	time_t t;
	time(&t);
	return asctime(localtime(&t));
}

int main(){
	char text[80];
	char befehl[120];
	fgets(text,80,stdin);
	sprintf(befehl,"echo '%s %s' >> reports.log",text,jetzt());
	system(befehl);

	return 0;
}
Zuletzt geändert von debianix am 24.01.2014 08:17:07, insgesamt 1-mal geändert.
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

newdeb
Beiträge: 134
Registriert: 03.02.2011 11:11:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Frankfurt

Re: C log-Datei erzeugen - Anfänger

Beitrag von newdeb » 23.01.2014 17:08:47

Das Terminal ist schon offen, es ist genau dasjenige, in dem du dein Programm startest.
Das Programm wartet bei "fgets" auf Zeichen im Eingabe-Stream stdin. Du musst ihm dann auch etwas anbieten,
z.B. so

Code: Alles auswählen

echo 'Hello World' | ./meinprog
./meinprog <<<'Meine Eingabe'

oder aus einer Datei:

Code: Alles auswählen

./meinprog < eingabe.txt
Einfach was eintippen und die Zeile mit ENTER abschließen, sollte auch gehen.

debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

Re: C log-Datei erzeugen - Anfänger

Beitrag von debianix » 23.01.2014 17:35:52

Hey super! Danke! Oje der Fehler ist ja fast schon peinlich :oops:
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

Antworten