Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Datei nach Speichern mit weniger Zeichen GRÖßER!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.10.2006, 07:41 Uhr
~Spawn
Gast


Hab folgendes Problem, ich lese einen Textdatei ein und lass mir bestimmt Zeilen aus der Textdatei entfernen, dann lass ich die bearbeitete Textdatei in eine neue Speicher nur diese Datei ist dann mehr als doppelt so groß. Kann mir wer sagen wo ich einen denkfehler haben könnte? Danke für euere Hilfe!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.10.2006, 08:50 Uhr
ao

(Operator)


Ist vielleicht die ursprüngliche Datei Ansi-Text und die neue Datei Unicode?

Wie groß sind denn die Dateien?

Hast du die Inhalte geprüft? Steht das Richtige drin? Wird der Text vielleicht zweimal hintereinander weggeschrieben?

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.10.2006, 09:29 Uhr
~Spawn
Gast


Also die eine Datei ist 5,2KB und die die rauskommt 11,5kb.

Hab mal geguckt ob der was doppelt reinschreibt das ist aber nicht der fall!

Was es für eine ursprüngliche Datei ist weiss ich nicht wie finde ich das herraus mit welcher Codierung meine Dateien Codiert ist?Und womit kann ich festlegen mit welcher codierung ich die bearbeitete Datei abspeicher.

Spawn
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.10.2006, 10:01 Uhr
ao

(Operator)



Zitat von ~Spawn:
wie finde ich das herraus mit welcher Codierung meine Dateien Codiert ist?Und womit kann ich festlegen mit welcher codierung ich die bearbeitete Datei abspeicher.

Keine Ahnung, vielleicht kann dein Editor die Kodierung anzeigen, oder irgendwelche Datei-Tools, die du bei dir rumliegen hast. Und wie du das festlegst, weiß ich auch nicht, kommt auf die Bibliotheken an, die du verwendest. Aber wenn du schon verstanden hast, dass es um die Kodierung geht (vielleicht!), dann kannst du ja mal selber forschen.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.10.2006, 17:21 Uhr
RedEagle



In nem hex-editor öffnen. Dort wird idr. ANSI oder ASCII-code verwendet, da diese nur 1 Byte groß sind.

--

evtl hast du einen 2. Teil, der aber nicht sichtbar ist, da zwischen teil1 und teil2 ein eof (0xFF) ist. Dann wird der 1. Teil angezeigt, der 2. aber nicht, da das programm glaubt, am ende zu sein. (weiß aber nicht, ob sich ein programm wie Notepad davon beeindrucken lässt, oder ein 'Ÿ' ausgibt.)
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.10.2006, 19:10 Uhr
0xdeadbeef
Gott
(Operator)


Unter *NIX gibts dafür das "file"-Kommando:

Code:
file dateiname.txt


für windows gibts das auch, z.B. als Teil der cygwin-runtine (zu bekommen unter www.cygwin.com )
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.10.2006, 09:22 Uhr
~Spawn
Gast


So hab meinen Fehler gefunden, es wird doch 2 mal abgespeicher weiss nur noch nicht wirklich warum.
Ich denk mal das ich hier einen kleinen denk fehler drin habe find ihn nur nicht:

void sort()
{

for(int j=0;j<19;j++)
{
cout << "Suche: " << statements[j] << endl;
for(int i=0;i<text.size();i++)
{

if(strlen(text[i])>0)
{
if (findstring(text[i],statements[j])!=-1)
{
sortedtext.push_back(text[i]);

while(true)
{
i++;
if(findstring(text[i],");")!=-1)
{
sortedtext.push_back(text[i]);
break;
}
else
{
sortedtext.push_back(text[i]);
}
}
}

}
}
}
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
23.10.2006, 09:52 Uhr
ao

(Operator)


Das kann man so nicht lesen. Bitte cpp-Tags benutzen und einrücken!

Zitat:
Ich denk mal das ich hier einen kleinen denk fehler drin habe find ihn nur nicht:


Benutz einen Debugger und verfolg das Programm Schritt für Schritt. So kannst du herausfinden, wo es sich anders verhält als von dir geplant.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: