我有一个已知大小(比如 10)的 char 数组,我想将它转换为 strng。要点是数组不是 NULL 终止的,因此不能使用以下示例代码中使用的这种技术。
char arr[ ] = "This is a test";
string str(arr);
我能做到:
char * array=getArray();
string output;
for(int I=0;i<10;i++)
{
output.append(array[I]);
}
或者更好的是:
char * array=getArray();
string output;
output.append(10,array);
但是有没有更好的方法来做到这一点?
最佳答案
如果您没有以 nul 结尾的字符串,但您知道它的长度,则可以使用两个迭代器构造函数之一:
string str(arr, arr + len);
或适当的计数构造函数:
string str(arr, len);
关于c++ - 将 char 数组(无空终止)转换为字符串的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25532281/