Gast
2004-07-02, 12:39:35
Hi.
Ich habe mir ein Programm geschrieben welches nach einem Zeichen in der Datei sucht und dieses durch das NUL-Zeichen ersetzt.
Die zu bearbeitende Datei wird dem Programm übergeben. Das Programmm funktioniert schonmal.
Nun hätt ich mal Fragen dazu.
1. Ist das so in Ordnung, oder mache ich was falsch? So viel habe ich mit C und Dateibearbeitung nämlich noch nicht am Hut.
2. Wenn ich das Programm über den "Ausführen"-Befehl starte, dann öffnet sich kurz das Konsolen-Fenster. Kann ich das irgendwie verhindern?
Danke. :)
#include <stdio.h>
int main(int argc, char* argv[])
{
FILE *Dat;
char ch;
int Zahl=0;
if ((Dat = fopen(argv[1],"r+b")) != NULL)
{
if (fseek(Dat,0,SEEK_SET) == 0)
{
do
{
fseek(Dat,Zahl,SEEK_SET);
ch = fgetc(Dat);
if(ch == 126)
{
fseek(Dat,Zahl,SEEK_SET);
fputc(0,Dat);
}
Zahl++;
}
while (ch != EOF);
}
fclose(Dat);
};
return 0;
}
Ich habe mir ein Programm geschrieben welches nach einem Zeichen in der Datei sucht und dieses durch das NUL-Zeichen ersetzt.
Die zu bearbeitende Datei wird dem Programm übergeben. Das Programmm funktioniert schonmal.
Nun hätt ich mal Fragen dazu.
1. Ist das so in Ordnung, oder mache ich was falsch? So viel habe ich mit C und Dateibearbeitung nämlich noch nicht am Hut.
2. Wenn ich das Programm über den "Ausführen"-Befehl starte, dann öffnet sich kurz das Konsolen-Fenster. Kann ich das irgendwie verhindern?
Danke. :)
#include <stdio.h>
int main(int argc, char* argv[])
{
FILE *Dat;
char ch;
int Zahl=0;
if ((Dat = fopen(argv[1],"r+b")) != NULL)
{
if (fseek(Dat,0,SEEK_SET) == 0)
{
do
{
fseek(Dat,Zahl,SEEK_SET);
ch = fgetc(Dat);
if(ch == 126)
{
fseek(Dat,Zahl,SEEK_SET);
fputc(0,Dat);
}
Zahl++;
}
while (ch != EOF);
}
fclose(Dat);
};
return 0;
}