fprintf со строковым аргументом - PullRequest
8 голосов
/ 07 января 2010

Для создания отформатированного файла я хочу использовать fprintf. Он должен получить char* параметров, но у меня есть несколько строковых переменных. Как я могу использовать fprintf?

Ответы [ 3 ]

21 голосов
/ 07 января 2010

Основное использование fprintf со строками выглядит так:

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);

Вы можете добавить несколько строк, используя несколько спецификаторов формата %s, и вы можете использовать повторные вызовы к fprintf для постепенной записи файла.

Если у вас есть объекты C ++ std::string, вы можете использовать их метод c_str(), чтобы получить const char*, подходящий для использования с fprintf:

std::string str("abc");
fprintf(f, "%s\n", str.c_str());
3 голосов
/ 07 января 2010

fprintf с несколькими строками довольно прост, если это то, что вам нужно, например,

const char* charString1 = "This";
const char* charString2 = "is a";
const char* charString3 = "test";

fprintf(fileHandle, "%s, %s, %s", charString1, charString2, charString3);
1 голос
/ 07 января 2010

fprintf работает аналогично printf, в спецификаторе формата вы можете указать сколько угодно% s и указать соответствующее количество строковых аргументов. Если вы хотите получить более подробный ответ, пожалуйста, оставьте свой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...