![](/img/trans.png)
[英]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.