我想在我的程序中獲得一個字符串的大小,所以然後我可以稍後使用循環將其轉換爲字符,但程序返回的大小是5數字小於實際大小。爲什麼會發生這種情況?C++ sizeof()不返回正確的大小
std::string theFileName = fileNames[ curTab ];
int size = sizeof(theFileName);
調試時我的程序,它存儲這theFileName:
theFileName = 「C:\用戶\文森特\桌面\ Untitled.txt」
而這個尺寸:
size = 32
如果您計算文件名中的字符,實際上是37.這是什麼原因造成的?我正在使用MS Visual C++ 2010 Express,創建一個記事本程序。
使用'size'函數。查看'sizeof'的功能。 – chris
@Vince:是什麼讓你覺得你可以用'sizeof'來達到這個目的呢?你讀過'sizeof'的規格嗎?或者你是否確定'sizeof'有點「聽起來不錯」? – AnT
我不知道爲什麼我想到這一點。我想我沒有查找它的規範,我應該這樣做,現在我看起來像一個白癡:P – Vince