C - 从const char*复制到字符串
C++ - copying from const char* to string
有没有办法将字符串从 const char*
复制到c 中的 string
?我正在尝试做这样的事情:
#include <iostream>
#include <string.h>
using namespace std;
int main(){
string s1;
const char* pStr = "Sample Text";
for(int i = 0; i < strlen(pStr); i++)
s1[i] = pStr[i];
cout<<s1<<endl;
return 0;
}
在我的情况下, s1
被证明是空的。
看一下CPPReference,std::basic_string
的构造函数(std::string
背后的模板类),替代方案(5):
const char* pStr = "Sample Text";
string s1(pStr);
cout<<s1<<endl;
c 11
#include <algorithm>
#include <iterator>
string s1;
const char* pStr = "Sample Text";
std::copy(pStr, pStr + strlen(pStr), std::back_inserter(s1));
另一种方式:
string s1;
const char* pStr = "Sample Text";
s1.assign(pStr);
您应该初始化S1的大小等于strlen(pstr)或只需将每个字符附加到S1。P>
以特定大小启动S1作为下面给出的代码行。
string s1(strlen(pStr));
类似地,附加每个字符如下。
for(int i = 0; i < strlen(pStr); i++)
s1.push_back(pStr[i]);
但是,除非您有调查每个字符的特定理由,否则我建议不要使用循环,而是启动S1。
。string s1{ pStr };
相关文章:
- 在 MFC 中使用 strncpy() 复制字符串时截断的数据
- 在C++中复制字符串
- C++ 复制字符串的指定索引之间的任何子字符串
- 在 C++ 中通过字符串指针复制字符串变量中的字符串
- C++ 复制字符串文本(来自 C)
- 复制字符串
- 在另一个字符串中逐个复制字符串字符
- std::对 C 样式字符串进行排序,而不复制字符串
- 复制字符串,c++
- 复制字符串集的正确方法是什么(在复制构造函数和赋值运算符中)
- 使用strtok复制字符串部分时出现内存错误
- 成员初始化列表是否复制字符串C++
- 在不使用标准库的情况下复制字符串
- 复制C字符串的正确方法
- 使用strcpy_s复制字符串
- 复制字符串直到'.' 以及当我知道结构时如何仅复制数字
- 复制字符串中指针的控件
- 使用strcpy复制字符串数组索引0
- 从矢量复制字符串无效
- 在另一个文件中以相反的顺序复制字符串和整数文件