![](/img/trans.png)
[英]How to safely convert const char* to const char8_t* in C++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.