[英]Error in a function used to find the position of an element in a vector of string (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.