繁体   English   中英

C ++如何在向量的特定位置显示元素的字符串属性?

[英]c++ how can I display the string attribute of an element at a particular position in a vector?

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

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

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

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

rm_WPSequence是一个向量,定义为:

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.c_str()方法转换char *std::string

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM