PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C] Mit fgetc gelesene chars direkt in string schreiben?


n00bEE
2007-05-27, 14:54:11
Hallo,

ich möchte aus einer Textdatei mit "fgetc" gelesene "chars" direkt in einen string lesen um diese dann in einer zweiten Textdatei formatiert ausgeben zu können.

Ist dies irgendwie möglich?

Matrix316
2007-05-27, 17:53:58
for each eingelesenes char
string += c;

;)

Mit was programmierst du? Nur C oder C++? Win32? MFC? Konsolenanwendung?




Bei C sollte es mit sprintf möglich sein.

char array[32];
char *array_newline = "\n";
sprintf(array, "%s", charValue);


Dann mit:

FILE *pFile = fopen(FILEPFAD,"a+");

fputs(array,pFile);
fputs(array_newline,pFile);

kannst du den Text an das File anhängen. Das hier schreibt jedes Zeichen oder Zeichenfolge in eine neue Zeile.

n00bEE
2007-05-27, 20:08:04
Mit was programmierst du? Nur C oder C++? Win32? MFC? Konsolenanwendung?
Konsole unter Linux!

Zum Beispiel:

char c ;
char name [100] = c ;


Wie würde ich nun mit "string" += c ; der Code aussehen?


while (!feof(ftxt)) {
c = fgetc (ftxt) ;
...



EDIT:
Bei Zahlen kenn ich den "+=" Ausdruck, aber nicht bei Chars...

Matrix316
2007-05-27, 20:49:30
Naja, das mit dem String += char geht in C# oder Java, wo die Klasse String das unterstützt. Aber ich würde es dann ungefähr so machen:



char array[32];
FILE *pFile;
while (!feof(ftxt)) {

sprintf(array, "%s", fgetc (ftxt));

pFile = fopen(FILEPFAD,"a+");

fputs(array,pFile);

}


vielleicht gehts auch gleich so:


char *c;
FILE *pFile = fopen(FILEPFAD,"a+");
while (!feof(ftxt))
{
sprintf(c, "%s", fgetc (ftxt));
fputs(c,pFile);
}

Besserwissend
2007-05-27, 21:44:36
Naja, das mit dem String += char geht in C# oder Java, wo die Klasse String das unterstützt. Aber ich würde es dann ungefähr so machen:



char array[32];
FILE *pFile;
while (!feof(ftxt)) {

sprintf(array, "%s", fgetc (ftxt));

pFile = fopen(FILEPFAD,"a+");

fputs(array,pFile);

}


vielleicht gehts auch gleich so:


char *c;
FILE *pFile = fopen(FILEPFAD,"a+");
while (!feof(ftxt))
{
sprintf(c, "%s", fgetc (ftxt));
fputs(c,pFile);
}



statt sprintf kannst Du auch strncat oder strcat nehmen. (#include <string>)

Gast
2007-05-27, 22:34:29
statt sprintf kannst Du auch strncat oder strcat nehmen. (#include <string>)

Voll daneben:
- <string> gibt es nur in C++ ...
- ... und selbst da müsste er <cstring> nehmen.

Also: #include <string.h>