配列からいくつかの文字を選択することは可能ですか?
お気に入り :
std::string(charArray from 0 to 16)
このプロセスなし:
char chName[16];
for(int i = 0;i<16;i++)
{
chName[i] = decrypted[i];
}
std::string characterName(chName);
std::string
既存の char バッファーでa を構築して初期化する場合は、適切なコンストラクターを使用するだけです。
std::string characterName(decrypted, 16);
使用できますstd::string::substr
。
次に例を示します。
#include <iostream>
#include <string>
int main()
{
std::string str = "hello world";
std::string cut_str = str.substr(0, 3);
std::cout << cut_str << std::endl;
return 0;
}
このコードは「hel」を出力します。
あなたが言っているのは、最初のバイトX
から文字列を作成したいサイズのchar 配列があるということだと思います。Y
Y
X
.substr(0,Y)
char x = source[Y];
source[Y]='\0';
std::string out(source);
source[Y]=x;
これはループを回避しますが、それ自体が厄介です。