datei text richtig einlesen
-
hallo.. habe ein problem
ich hab eine datei, die ungefähr so aussieht:
100, 121, 1300, 313, 500, 141, 500
nun möchte ich die enthaltenen zahlen in ein array gespeichert haben.
zb:
x[0] = 100;
x[1] = 121;
x[2] = 1300;
usw.wie löse ich so etwas am besten? wie teile ich den text am einfachsten richtig auf?
-
du kannst dsa z.b. über streamreader einlesen und dan den erhaltenen string nach jedem "," teilen und die zahlen in das array schreiben.
(streamreader liest zeilenweise).
-
#include <windows.h> #include <iostream> int main( void ) { FILE *stream; stream = fopen( "test.txt", "r" ); char fstring[255]; fgets( fstring, sizeof(fstring), stream ); char *pch; int x[255], i=0;; pch = strtok ( fstring, "," ); while ( pch != NULL ) { printf( "%s\n", pch ); // das was hier ausgegeben wird, will ich einzeln in ein int array haben, so wie ich es im vorherigen post hab. // wie kann ich das umsetzen? pch = strtok( NULL, "," ); } fclose( stream ); return 0; }
-
Dein Code ist nicht C++/CLI, sondern C (abgesehen vom iostream Header, der nicht benutz wird).
Also falsches Forum oder falscher Code dazu.Falls Du das Problem in C++ lösen möchtest, rate ich Dir zu std::string, std::vector und std::ifstream.
Falls Du das Problem in C++/CLI lösen möchtest zu, wie schon erwähnt, StreamReader, String, und List<T>.
Simon
-
Guck dir mal den Thread an: http://www.c-plusplus.net/forum/viewtopic-var-t-is-243114.html
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
theta schrieb:
Guck dir mal den Thread an: http://www.c-plusplus.net/forum/viewtopic-var-t-is-243114.html
da sind aber keine kohmas driehnnen!
-
Hi!
morruk_lan schrieb:
wie löse ich so etwas am besten? wie teile ich den text am einfachsten richtig auf?
Erste Zahl ins Array einlesen:
int num=0; fscanf(fp, "%d", &num)
War fscanf erfolgreich:
solange Datei nicht zu Ende ist, in einer Schleife zeichenweise einlesen und ins eingelesene Zeichen 'reingucken'. Ist es ein Komma, nächste Zahl einlesen:#define KOMMA ',' int c = 0; ... while( (c = fgetc(fp)) != EOF )) if (c == KOMMA) if ( 1 != fscanf(fp, "%d", &num)) break; ...