首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++ fprintf只打印第一个字符串

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

Stack Overflow用户
提问于 2014-02-10 05:52:09
回答 2查看 152关注 0票数 2

我尝试使用以下代码:

代码语言:javascript
复制
String hi = "hi";
String bye = "bye";
fprintf(fileout, "%d: %s, %s", 10, hi, bye); //fail 
fprintf(fileout, "%d: %s, %s", 10, "hi", "bye");//ok

但是,这不能给文本文件写个好消息。怎么啦?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-10 05:54:10

fprintf和相关函数是C函数。

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

代码语言:javascript
复制
fprintf(fileout, "%d: %s, %s", 10, hi.c_str(), bye.c_str());

fprintfc_str()

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

票数 5
EN

Stack Overflow用户

发布于 2014-02-10 05:56:57

您通常不想在C++中使用C++和company。

代码语言:javascript
复制
fileout << 10 << ": " << hi << ", " << bye;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21669972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档