Du bist nicht eingeloggt.

Login

Pass

Registrieren

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

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -