0
다음 코드 에서 set_effect_block
을 사용하여 문자열을 고정 크기 문자열 20 바이트로 변환합니다.임의의 문자열을 고정 크기 문자열로 변환
class editoritems{
public:
editoritems(string= "");
void set_effect_block(string paramnamestring) //set effect block
{
const char *effectnamevalue=paramnamestring.data();
int length=strlen(effectnamevalue);
length=(length<20?length:19);
strncpy_s(effe_block,effectnamevalue,length);
effe_block[length]='\0';
}
string get_effect_block()const{return effe_block;}
private:
char effe_block[20];
};
editoritems::editoritems(string h)
{
set_effect_block(h);
}
이렇게하는 것이 좋은 방법일까요? 더 빠른 방법이 있습니까?
음,'std :: string'의 길이를 얻으려면'strlen'을 사용하지 않아도됩니다. –