|
Community
Szene & News
Locations
Impressum
|
Forum / Bits und Bytes
Erstellung einer Datei (Typ: application/octet-stream)

Properties - 30
Halbprofi
(offline)
Dabei seit 06.2010
299
Beiträge
|
Geschrieben am: 05.09.2010 um 21:33 Uhr
Zuletzt editiert am: 05.09.2010 um 22:01 Uhr
|
|
Hi Leute,
ich habe Linux Mint 9 und habe mit der IDE Geany in C ein kleines Programm geschrieben, das einen Text aus der Textdatei "quelle" auslesen soll und anscheinend zufällig die Buchstaben gegen von mir definierte Buchstaben austauscht. Danach soll es das Ergebnis in die Textdatei "ziel" speichern. Doch wenn ich in das Verzeichnis schaue, finde ich zwar die Dateien "quelle" und "ziel", doch die geschrieben Datei "ziel" kann ich nicht öffnen. Unter "Eigenschaften" finde ich bei Typ: Unbekannt (application/octet-stream). Auch mit gedit kann ich die Datei nicht öffnen.
Der Code:
#include <stdio.h>
#include <stdlib.h>
void sonderzeichen(int nchars, char *tag, FILE *ziel)
{
int i;
char zeichen;
for (i=0; i<nchars; i++)
{
zeichen = tag[i];
putc(zeichen, ziel);
}
}
int main(int argc, char **argv)
{
FILE *q, *z;
int zeichen;
q = fopen("quelle", "r");
z = fopen("ziel", "w");
if (q == NULL || z == NULL)
{
printf ("Fehler beim Öffnen der Datei\n");
return EXIT_FAILURE;
}
while((zeichen=getc(q)) != EOF)
{
if(zeichen=='a')
sonderzeichen(2, "f", z);
else if(zeichen=='b')
sonderzeichen(2, "e", z);
else if(zeichen=='c')
sonderzeichen(2, "q", z);
else if(zeichen=='d')
sonderzeichen(2, "r", z);
else if(zeichen=='e')
sonderzeichen(2, "h", z);
else if(zeichen=='f')
sonderzeichen(2, "t", z);
else if(zeichen=='g')
sonderzeichen(2, "o", z);
else if(zeichen=='h')
sonderzeichen(2, "m", z);
else if(zeichen=='i')
sonderzeichen(2, "b", z);
else if(zeichen=='j')
sonderzeichen(2, "y", z);
else if(zeichen=='k')
sonderzeichen(2, "n", z);
else if(zeichen=='l')
sonderzeichen(2, "c", z);
else if(zeichen=='m')
sonderzeichen(2, "x", z);
else if(zeichen=='n')
sonderzeichen(2, "i", z);
else if(zeichen=='o')
sonderzeichen(2, "a", z);
else if(zeichen=='p')
sonderzeichen(2, "s", z);
else if(zeichen=='q')
sonderzeichen(2, "w", z);
else if(zeichen=='r')
sonderzeichen(2, "p", z);
else if(zeichen=='s')
sonderzeichen(2, "z", z);
else if(zeichen=='t')
sonderzeichen(2, "d", z);
else if(zeichen=='u')
sonderzeichen(2, "j", z);
else if(zeichen=='v')
sonderzeichen(2, "k", z);
else if(zeichen=='w')
sonderzeichen(2, "g", z);
else if(zeichen=='x')
sonderzeichen(2, "l", z);
else if(zeichen=='y')
sonderzeichen(2, "z", z);
else if(zeichen=='z')
sonderzeichen(2, "v", z);
else
putc(zeichen, z);
}
return EXIT_SUCCESS;
}
Edit: Sorry, ich habe meine eigentliche Frage vergessen: Wie kann ich es machen, dass die Datei "ziel" eine lesbare Textdatei ist?
imaxabs :D
|
|
Colt-45 - 37
Halbprofi
(offline)
Dabei seit 09.2009
279
Beiträge
|
|
Geschrieben am: 05.09.2010 um 23:08 Uhr
|
|
Ich kann dir zwar persönlich nich helfen, da ich in c nur grundkenntnisse hab (in java wärs kein problem), aber ich glaube doch, dass du in einem richtigen C-Forum besser aufgehoben bist, als hier...
aber wenn mein essen fertig is, mach ich mich mal schlau wegen deinem problem
I said Colt 45 and two zigzags, baby that's all we need...
|
|
Colt-45 - 37
Halbprofi
(offline)
Dabei seit 09.2009
279
Beiträge
|
|
Geschrieben am: 05.09.2010 um 23:36 Uhr
|
|
Das könnte dir weiterhelfen
I said Colt 45 and two zigzags, baby that's all we need...
|
|
xai - 39
Profi
(offline)
Dabei seit 06.2007
442
Beiträge
|
|
Geschrieben am: 06.09.2010 um 09:36 Uhr
|
|
wie wärs mit
fclose (file);
am ende ?
CUT THREAD HERE ✂ - - - - - - - - - - - - - - - - - - - - - - - -
|
|
Properties - 30
Halbprofi
(offline)
Dabei seit 06.2010
299
Beiträge
|
|
Geschrieben am: 06.09.2010 um 20:47 Uhr
|
|
So, ich hab's jetzt.
Doch ich möchte jetzt, dass der Anwender eine Eingabe machen kann und diese in die Datei quelle geschrieben wird. Doch mit scanf geht das irgendwie nicht. Wie kann ich das machen?
imaxabs :D
|
|
Forum / Bits und Bytes
|