Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Einfache Sache... Nur der Filepostionierer funzt nicht

Andy 386 / 4 Antworten / Flachansicht Nickles

Ich möchte ein Programm, dass mir alle Kleinbuchstaben einer Textdatei zu Grossbuchstaben macht.
Hab nix bei google gefunden, mich also selbst rangesetzt. Soweit klappt alles ganz gut, nur schreibt mir mein proggi die Geänderten Buchstaben nicht wieder auf die alte Stelle sondern an das Ende der Textdatei. Wieso mein fseek beim zweiten nutzen nicht funktioniert, ist mir völlig unklar.

Hier di Source:
#include

bei Antwort benachrichtigen
mr.escape Andy 386 „Da hat mich irgendein scripting reingelegt... cout do geschweift auf fseek...“
Optionen
Da hat mich irgendein scripting reingelegt...
Nicht ganz, sondern einfaches HTML. Dort werden nämlich steuerbefehle in spitze klammern gepackt, d.h. die kleiner/größer zeichen.
Damit du nicht nochmal hereingelegt wirst, musst du alle "<" durch "&lt;" ersetzen, sowie alle führenden leerzeichen durch "&nbsp;".
Damit es noch besser aussieht, das ganze in ein "<tt>...</tt>" packen.

mr.escape

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

FILE *text;

int main()
{
  char a;
  long z;
  long siz;

  z=0;
  text=fopen("text.txt","a+");
  fseek(text,0,SEEK_END);
  siz=ftell(text)/sizeof(a);
  cout<<siz;

  do{
    fseek(text,z*sizeof(a),SEEK_SET);
    fread(&a,sizeof(a),1,text);
    if (a>97 && a<123)
    {a=a-32;
      cout<<a;
      fseek(text,z*sizeof(a),SEEK_SET);
      fwrite(&a,sizeof(a),1,text);
    }
    z++;

  }while(z<siz);

  fclose(text);
  system("PAUSE");
  return 0;
}
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen