char pointers für Dateinamen mit int-Wert anhängen
-
hallo,
um eine Reiche von Dateien in einer Schleife zu schreiben,
sollen die geschriebenen Dateinamen mit einem Wort und anschließendem int-Wert
versehenwerden (zb test1.txt test2.txt ...).Wie kann ich bei einer Zeichenkette "test" in einem const char * Pointer einen Int-Wert und eine weitere Zeichenkette ".txt" anhängen ?
-
Du kannst Dir den String mit einem stringstream zusammenbauen.
#include <iostream> #include <string> #include <sstream> void foo(char const* wenn_es_ein_zeiger_sein_muss) { std::cout << wenn_es_ein_zeiger_sein_muss << '\n'; } int main() { for (int i=0; i<10; ++i) { std::stringstream ss; ss << "test" << i << ".txt"; std::string s = ss.str(); foo(s.c_str()); } }
-
Und wenn du bei char-Arrays bleiben musst, kannst du sprintf benutzen (aber achte darauf, dass der Zielstring genug Speicher bietet, um sich, das Anhängsel und die terminierende Null aufzunehmen).