gpt4 book ai didi

c++如何在 vector 中的特定位置显示元素的字符串属性?

转载 作者:行者123 更新时间:2023-11-28 00:15:08 25 4
gpt4 key购买 nike

我正尝试在控制台中打印 C++ 变量的值以进行调试。我用来尝试执行此操作的行是:

    printf("\n Value of lTempCoord in CSARCreepingLineItem::SteerStep(...): %s", rm_WPSequence[m_SAR_OrdinalNumber].m_FixName);

但是这一行生成的输出是不可读的。我想知道这是否是因为我试图使用“字符串”字符 %s 来显示它,然后向它传递除了简单字符串/字符数组之外的其他内容?

分解我传递给 printf() 的变量:

rm_WPSequence 是一个 Vector,定义为:

vector< CUserWaypointListElement > rm_WPSequence;

m_SAR_OrdinalNumber 是一个整数,并且

m_FixName 是一个字符串,在 CUserWaypoingListElement 类中定义:

std::string m_FixName;

该行生成的输出是一些“特殊”字符(不是您可以在键盘上看到的字符)。

我在这里做错了什么?输出不可读是因为我没有正确访问 Vector 的成员,还是因为 string 被定义为 std 库的一部分?还是完全不同?

最佳答案

试试这个

std::cout << rm_WPSequence[m_SAR_OrdinalNumber].m_FixName  << std::endl;

printf 基本上是一个 C 函数,您应该在您的 c++ 程序中使用 c++ 机制 ;)。如果您真的想使用 printf(),请使用 std::string 将 std::string 转换为 char * .c_str() 方法

关于c++如何在 vector 中的特定位置显示元素的字符串属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30799106/

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