gpt4 book ai didi

c++ fprintf 只打印第一个字符串

转载 作者:搜寻专家 更新时间:2023-10-31 00:36:32 25 4
gpt4 key购买 nike

我试过下面的代码:

String hi = "hi";
String bye = "bye";
fprintf(fileout, "%d: %s, %s", 10, hi, bye); //fail
fprintf(fileout, "%d: %s, %s", 10, "hi", "bye");//ok

但是,这不能将 hi bye 写入文本文件。怎么了?

最佳答案

fprintf 和相关函数是 C 函数。

您需要一个“C 字符串”,它是一个以 null 结尾的字符数组(char *char const *),而不是一个 C++ 字符串( std::string).

fprintf(fileout, "%d: %s, %s", 10, hi.c_str(), bye.c_str());

参见 fprintfc_str() .

尽管 C++ 代码通常会使用 C++ I/O functions .

关于c++ fprintf 只打印第一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21669972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com