Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Probleme mit öffnen von dateien

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
17.03.2003, 00:32 Uhr
~LGMTR
Gast


Kann mir einer helfen ich will eine txt öffnen und den inhalt als ein array speichern!

brauche dringend hilfe!!!

Danke im vorraus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.03.2003, 08:07 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo, so etwa:


C++:
CStdioFile File;

if(!File.Open("c:\\deinedatei.txt",CFile::modeRead))
{
    // Fehlerbehandlung
}
else
{
    CStringArray csaInhalt;
    CString strTemp;
    while(File.ReadString(strTemp))
    {
        csaInhalt.Add(strTemp);
    }
    File.Close();
}



In dem CStringArray csaInhalt sollte nun der komplette Inhalt zeilenweise drin sein!
--
class God : public ChuckNorris { };

Dieser Post wurde am 17.03.2003 um 08:07 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.03.2003, 18:37 Uhr
LGMTR



kannst du mir das etwas einfacher erklähren bin ein derbster Newbie in sachen string
meine idee war die das ich dann aus dem arrey z.b.

C++:
char text[128];

main() {
   for(z3=0;z3<=128;z3=z3+4) {
       if(text[z3]=='1' && text[z3+1]== 'b' && text[z3+2]== '0' && text[z3+3]== 'c') {
            strcat(text1,"blabla");
        }
}
}



raus lese klapt dann dein tipp da auch


danke im vorraus
--
PS: Wer Rechschreibfehler findet darf sie behalten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.03.2003, 19:19 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


aha
du benutzt eine Konsolenanwendung, richtig?
Ohne MFC, richtig?

ok dann mal anders:


C++:
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <io.h>

int main(void) // einfach "nur" main() ist schlechter stil
{
  FILE *file = fopen("c:\\test.txt","rb"); // Datei zum lesen öffnen
  if(!file)
  {
    printf("Datei c:\\test.txt konnte nicht geöffnet werden\n");
    return 1; // Fehler zurückgeben
  }

  long lLen = _filelength(_fileno(file)); // Größe der Datei bestimmen

  char *filebuf = new char[lLen+1]; // Speicher für den Inhalt der Datei
  memset(filebuf,0,sizeof(filebuf)); // Speicher "leermachen"

  fread(filebuf, sizeof(char), lLen, file); // Daten einlesen
  fclose(file); // Datei schliessen

  for(long x = 0; x < lLen; x++)
  {
    char tester[5];
    strncpy(tester,filebuf[x],4);
    if(strcmp(tester,"1b0c")==0)
    {
      strcat(text1,"blabla"); // Vorsicht mit strcat,
      // wenn der string noch nicht initialisiert wurde gibts da bei mir fehler
    }
  }

  delete[] filebuf; // speicher wieder freigeben

  return 0; // alles ok gegangen
}



Habs zwar nicht getestet, sollte aber gehen!
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.03.2003, 19:30 Uhr
LGMTR



gut das erklärt einiges danke ich probiers mal aus
ich würde ja mfc ?? benutzen wenn ich wüste was das ist und wie man das benuzt
--
PS: Wer Rechschreibfehler findet darf sie behalten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.03.2003, 19:38 Uhr
LGMTR




C++:
:\test.cpp(26) : error C2664: 'strncpy' : cannot convert parameter 2 from 'char' to 'const char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast



das kommt dann bei mir als fehler raus
hab ich da was falsch gemacht ich hab denn cpp copiert
--
PS: Wer Rechschreibfehler findet darf sie behalten

Dieser Post wurde am 18.03.2003 um 19:41 Uhr von LGMTR editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.03.2003, 02:09 Uhr
Alf



Hy!


C++:
strncpy(tester,&filebuf[x],4);// & die Addresse von filebuf + x
tester[4] = NULL; // strcmp "string1, string2 Null-terminated strings to compare"


habs mal getestet.
--
Mfg

Andy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.03.2003, 06:43 Uhr
virtual
Sexiest Bit alive
(Operator)


Solange ihr nicht sicherstellt, daß in filebuf vor dem 4. Zeichen ein 0 Byte steht, crasht eure Routine. strncpy terminitert nicht immer mit einem 0 Byte. Um das zu erreichen, kann man ein strncpy_x verwenden:

C++:
void strncpy_x(char*d, const char* s, size_t n)
{
    strcpy(d, "");
    strncat(d, s, n);
}


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
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: