Dear all,
In order to creation a formatted file, I want to utilize fprintf
. it must get char*
but I have several string variables. Can anyone help me, please?
Thanks
views:
287answers:
3
+6
A:
The basic usage of fprintf
with strings looks like this:
char *str1, *str2, *str3;
FILE *f;
// ...
f = fopen("abc.txt", "w");
fprintf(f, "%s, %s\n", str1, str2);
fprintf(f, "more: %s\n", str3);
fclose(f);
You can add several strings by using several %s
format specifiers and you can use repeated calls to fprintf
to write the file incrementally.
If you have C++ std::string
objects you can use their c_str()
method to get a const char*
suitable to use with fprintf
:
std::string str("abc");
fprintf(f, "%s\n", str.c_str());
sth
2010-01-07 07:08:32
Thank you very much. It works.
aryan
2010-01-13 18:51:16
+1
A:
fprintf with multiple strings is pretty simple, if that is what you are after, e.g.
const char* charString1 = "This";
const char* charString2 = "is a";
const char* charString3 = "test";
fprintf(fileHandle, "%s, %s, %s", charString1, charString2, charString3);
Chaos
2010-01-07 07:09:52
I have something like this:...string St1, St2;...ifstream In("Text.txt");In >> St1 >> St2;...that St1 and St2 are initialized by reading from a file by ifstream() function. Now I want to write them in another file by fprintf() function.fprintf("%s %s", St1, St2);But I think fprint get char* not string.
aryan
2010-01-07 07:58:45
A:
fprintf works analogous to printf, in the format specifier, you can mention as many %s as you want and give the corresponding number of string arguments. If you want a more detailed answer, please post your code.
Jay
2010-01-07 07:10:19