Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Dateizugriff mit C
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Dateizugriff mit C
 
Autor Nachricht
Tim1990
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 16.02.2009
Beiträge: 4

BeitragVerfasst am: 16 Feb 2009 - 10:19:07    Titel: Dateizugriff mit C

HAllo...Ich und mein Kollege haben folgendes Problem.Wir sind in der 11Klasse eines Beruflichen Gymnasiums und sollen in DAtenverarbeitung folgende Aufgabe lösen.Wir sitzen schon seit 3 Wochen dran und haben bisher noch keine Lösung gefunden.Hier die Aufgabe:

Schreibt ein Prgramm,das folgende EIngaben vom Benutzer einliest:

Pfad zur DAtei: (z.B.:"C:\TEst\BG11\")

Dateiname: ("z.b.:"Myfile.txt")

Suchwort: (z.b.:"daß")

Ersatzwort: (z.b:"dass")

Nach Eingabe dieser Daten soll das Programm die Datei auf der Platte öffnen und alle Wörter, die dem Suchwort entsprechen,durch das Ersatzwort ersetzen. Am Ende sollte eine Statistik ausgegeben werden, wie viele Worte ersetzt wurden. Fehlerhafte Eingaben sind zu erkennen und mit einer entsprechenden Fehlermeldung auszugeben. Ausführbare Dateien(z.b. Firefox.exe)sollten nicht bearbeitet werden dürfen.

Zusatzaufgabe:

Falls kein Dateiname angegeben wird, sollten alle Dateien eines Verzeichnisses bearbeitet werden können.

Wir wären sehr Dankbar wenn uns jemand bei dieser Aufgabe helfen könnte. Wir bedanken uns schonmal im vorraus Wink

Gruß Tim
Jockelx
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 24.06.2005
Beiträge: 3596

BeitragVerfasst am: 16 Feb 2009 - 10:24:54    Titel:

Hallo Tim,

poste doch mal die Resultate deiner 3 wöchigen Arbeit oder sag warum es momentan nicht weiter geht.
Tolotos
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 20.01.2007
Beiträge: 307

BeitragVerfasst am: 16 Feb 2009 - 15:54:00    Titel: Re: Dateizugriff mit C

Tim1990 hat folgendes geschrieben:
Ausführbare Dateien(z.b. Firefox.exe)sollten nicht bearbeitet werden dürfen.


Und wie willst du erkennen, welche Dateien ausführbar sind, wenn sie keine endung .exe haben? Shocked
Smutje
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 19.07.2008
Beiträge: 3004
Wohnort: Gießen

BeitragVerfasst am: 16 Feb 2009 - 16:31:12    Titel:

Vermutlich weil ausführbare Dateien eher selten den ASCII-String "das" beinhalten dürften? Wink Ist zwar nicht gerade wahrscheinlich, aber kann immerhin vorkommen, das ein Maschinencodemuster auf die ASCII-Zeichenfolge passt.
m0ta
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 12.10.2005
Beiträge: 75

BeitragVerfasst am: 16 Feb 2009 - 18:52:58    Titel: Re: Dateizugriff mit C

Tolotos hat folgendes geschrieben:
Tim1990 hat folgendes geschrieben:
Ausführbare Dateien(z.b. Firefox.exe)sollten nicht bearbeitet werden dürfen.


Und wie willst du erkennen, welche Dateien ausführbar sind, wenn sie keine endung .exe haben? Shocked

Dateirechte vielleicht.
Tim1990
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 16.02.2009
Beiträge: 4

BeitragVerfasst am: 18 Feb 2009 - 18:35:45    Titel:

Also momentan haben wir folgendes hinbekommen :

Dateiexistenz prüfen

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

main() {
FILE *datei _ptr;
char *datei ="abc.xyz";

datei_ptr = fopen(datei,"r");

if(datei_ptr != NULL) {
printf("\nDatei %s wurde geoeffnet !\n", datei);
fclose(datei_ptr);
}
else {
printf("\nDatei %s existiert nicht !\n", datei);
}
system("Pause");
}
-------------------------------------------------------------------------------------
Lesen einer Datei

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

main() {
FILE *stream;
char dateiname[67];
int ch;
printf("\nWelche Datei wolln Sie lesen ? >");
gets(dateiname);

if((stream = fopen(dateiname, "r")) == NULL) {
printf("\nFehler beim Oeffnen!");
exit(1);
}

ch=fgetc(stream);
while(!feof(stream)) {
putchar(ch);
ch=fgetc(stream);
}
fclose(stream);
strstr("Das ist ein Test");
system("pause");
}
-------------------------------------------------------------------------------------
Ist noch nich alles Wink Kollege hat den Rest auf seinem Stick ...
reicht er morgen noch nach ^^

Gruß Tim
mazal
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 03.03.2006
Beiträge: 121

BeitragVerfasst am: 19 Feb 2009 - 01:30:43    Titel:

Code:
#include <stdio.h>
int main(int ac, char **av){
    char b[512];
    if (ac == 3) {
        sprintf (b, "sed s/%s/%s/g %s", av[2], av[3], av[1]);
        system(b);
    }
    return 0;
}


*SCNR*
Tim1990
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 16.02.2009
Beiträge: 4

BeitragVerfasst am: 19 Feb 2009 - 10:28:35    Titel:

sooo hier sind die anderen Fetzen unserer bisherigen Lösungsvorschläge:

Datei öffnen und schließen:
#include <stdio.h>
#include <stdlib.h>

main() {
FILE *datei_ptr;
datei_ptr=fopen("abc.xyz","w");
if(datei_ptr !=NULL) {
fclose(datei_ptr);
}
system("pause");
}


schreiben in eine DAtei:

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

main() {
FILE *stream;
char zeile[81],dateiname[67];
int zeilen=0;

printf("\n\t\tTextzeilen erfassen\n");
printf("\nSpeichern unter >");
gets(dateiname);

if((stream = fopen(dateiname,"w")) ==NULL) {
printf("\nFehler beim öffnen!");
exit(1);
}

printf("\nLeerzeile beendet das Programm.");
printf("\n------------------------------\n");


gets(zeile);
while(strlen(zeile) > 0) {
fprintf(stream,"%s\n",zeile);
zeilen++;
gets(zeile);

}

fclose(stream);
printf("\n%i Zeilen wurden geschrieben.\n",zeilen);

}



Also sind alles FEtzen und wir wissen nicht wie wir jetzt weiter machen sollen hoffentlich könnt ihr uns weiter helfen....

@mazal : was meinst du mit deinem Eintrag??

Gruß Tim
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Dateizugriff mit C
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum