簡體   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