[英]The strcpy_s function doesn't work in my code
這個 function 應該將 char[] 復制到分配的存儲中。 由於某種原因,緩沖區對於此操作總是太小。
str(char* f) {
len = strlen(f);
txt = (char*)malloc(len); //txt is a pointer to a char
strcpy_s(txt, len, f);
}
由於某種原因,緩沖區對於此操作總是太小。
您忘記為 null 終結器分配 memory。 一個空字符串需要一個字符(終止符)的空間。 長度為 1 的字符串需要兩個字符 (1 + 1) 的空間。 長度為len
的字符串需要len + 1
字符的空間。
那說:
strdup
。strlen
、 malloc
或strcpy_s
(也不要strdup
)。 我推薦std::string
。確保包含 cstring 庫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.