簡體   English   中英

如何將 Const char* 限制為 20 個字符?

[英]How to limit Const char* to 20 characters?

怎么可能,在這個里面得到abx

void Manager::SetABX(const char* abx) {

截斷到最大值。 20個字? 我嘗試使用這種方法:

auto NewABX = abx.substr(20, abx.size() - 0);

但它給出了“表達式必須具有 class 類型”錯誤。

完整示例(不起作用)

void Manager::SetABX(const char* abx) {
     auto NewABX = abx.substr(20, abx.size() - 0);
     //other code where I need to use NewABX with max. 20 characters.
}

上面的代碼只被這個調用:

TDduration memabx;
Manager::New().SetABX(const char*)&mem.memabx[0]);

您可以使用std::string s(abx, 20); abx的前 20 個字符構造一個字符串。

但請注意,如果abx包含少於 20 個字符,並且abx的前 20 個字符中的任何 null 字符('\0')也將在s中,則會出現未定義的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM