gpt4 book ai didi

c++ - fprintf : print literal hex string

转载 作者:行者123 更新时间:2023-12-04 10:50:22 24 4
gpt4 key购买 nike

假设我有一个十六进制字符串,它是从一组字节中计算出来的,采用适合我的特定格式:

std::string s("#00ffe1");

我还没有将它签名到 std::cout

std::cout << s;

//prints:
#00ffe1

虽然我喜欢 cout 的工作方式,但就我的目的而言,使用 fprintf 更容易,因为它输出格式化的字符串,使用 fprintf 更容易。

我去写来自 fprintf 的相同字符串:

fprintf(stdout,"foo=%s",s);

// outputs:
G* // (i.e., nonsense)

如何使用 fprintf 输出这个字符串?

最佳答案

std::string 是一个类,而不是 C 中适用的术语“字符串”(fprintf 的来源)。 %s 格式说明符需要一个指向以 null 结尾的 char [] 数组的指针。使用 std::string 方法 c_str() 返回空终止字符串,并将 that 传递给 fprintf:

fprintf(..., s.c_str());

关于c++ - fprintf : print literal hex string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54470089/

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