Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » zeilen lesen und bearbeiten

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 ] > 2 <
010
30.06.2008, 11:56 Uhr
Bruder Leif
dances with systems
(Operator)


Wie schon oben gesagt, die 4996 ist Microsoft. Das bedeutet nicht, dass das Programm nicht funktioniert, sondern nur, dass Microsoft nicht moechte, dass Du Dich an den Standard haeltst. Wenn Dich die Meldung stoert, kannst Du sie auch ausschalten (frag mich aber nicht wie, benutze seit Jahren kein MS mehr), oder einfach einen gescheiten Compiler benutzen z.B. www.cygwin.com
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
30.06.2008, 12:02 Uhr
sia



toll wie kann ich jetzt meine datei öffnen und sehen was da drin ist also lesen ???????
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
30.06.2008, 12:09 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja mit fopen machst du sie doch auf, musst halt nur noch mit f*-funktionen (fread, fgets, usw) was drin lesen.

die warnung kann man u.A mit


C++:
#pragma warning (disable : 4996)



abschalten
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
30.06.2008, 13:32 Uhr
sia



ja thx nun geht das
nun will ich die 2. zeile ausgeben d.h. die erste überspringen .
es sieht so aus:
WK1;Wk2;WK3;;Wk4;;WK5
12;f5f;gu;;fvzi6;;ligz

nun muss die 2. zeile dynamisch abgespeichert werden und zwar jeden wert vor ";" getrennt .
ich hab bis jetzt das :


char line[5];
int row = 0;
FILE* datei;
datei=fopen("CDokumente und Einstellungen sia Eigene Dateien datei.txt","rt");

if(datei)
{
// bis zum Ende der Datei
while(!feof(datei))
{
// Hilfs-Puffer leeren
strcpy_s(line,3, "");

// eine Zeile einlesen
fgets(line, 2, datei);

// String abschließen
line[strlen(line)] = '\0';
/*len = strlen(line);

cout << len << endl;*/
// Verarbeitung der Zeile

// über strstr kann ein Teilstring gesucht werden
if(strstr(line, "wrl")){
int iv[7];
char datei[8];
sscanf(line, "%d %s %d %d %d %d %d %d", iv, datei, iv+1, iv+2, iv+3, iv+4, iv+5, iv+6);



// Anzahl gefundene Zeilen erhöhen
row++;
}
}
fclose(datei);

}




}
ich weiss aber nicht wie ich z.b. den wert 12; dynamisch abspeichern also immer den wert der vor " ;" steht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
13.07.2008, 01:44 Uhr
xXx
Devil


Scheiß C C++ misch masch ... ma ne ey ...

Machs doch einfach so:

C++:
#include <iostream>
#include <fstream>
#include <string>

int main()
{
    std::ifstream file_stream("C:/Dokumente und Einstellungen/sia/Eigene Dateien/datei.txt");
    if (!file_stream) { std::cerr << "FEHLER: Datei konnte nicht geöffnet werden!"; return 1; }

    std::string temp;
    std::getline(file_stream, temp);

    while (std::getline(file_stream, temp, ';'))
        std::clog << temp << "\n";
}
so solltest de die einzellnen werte untereinander ausgegeben bekommen ... und kannst auch einfach operator>> nutzen ... oder leg ne struct an und überlad den operator>> ... also da gibt es viele wesentlcih sauberere Lösungen!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ 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: