-1

是否可以从数组中选择几个字符?

喜欢 :

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);
4

3 回答 3

3

如果你想std::string用已经存在的 char 缓冲区构造和初始化 a,你可以简单地使用适当的构造函数:

std::string characterName(decrypted, 16);
于 2013-08-21T14:40:28.750 回答
2

You can use std::string::substr.

Here is an example:

#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;
}

This code will print "hel".

于 2013-08-21T14:41:24.203 回答
1

我假设你说的是你有一个大小X的 char 数组,你想从第一个Y字节创建一个字符串,其中Y<X然后你需要创建整个字符串的字符串并使用.substr(0,Y)或执行类似的操作

char x = source[Y];
source[Y]='\0';
std::string out(source);
source[Y]=x;

这避免了循环,但以自己的方式令人讨厌。

于 2013-08-21T14:42:50.530 回答