在 C++ 中通过字符串指针复制字符串变量中的字符串

copy string in a string variable via string pointer in c++

本文关键字:字符串 复制 变量 指针 C++      更新时间:2023-10-16

我正在尝试通过字符串指针"seq"将字符串复制到字符串变量"cpy"中,我的存根代码 -

#include <iostream>
#include<string.h>
using namespace std;
int main(){
string *seq[5],str[5],cpy;
for(int i=4;i>=0;i--)
{
cin>>str[i];
seq[i]=&str[i];
}
for(int i=0;i<5;i++)
{
//copy *seq[i] to cpy so that cout gives string str[i]; 
cout<<cpy<<endl; // print all strings according to new order
}
}

如何完成此任务?

我使用了库字符串:

#include<string>

然后,您可以执行所需的操作:

#include <iostream>
#include<string>
using namespace std;
int main(){
string *seq[5],str[5],cpy="";//you must assign empty string for cpy
for(int i=4;i>=0;i--)
{
cin>>str[i];
seq[i]=&str[i];
}
for(int i=0;i<5;i++)
{
cpy += *seq[i];
cout<<cpy<<endl; // print all strings according to new order
}
return 0;
}

您可以使用+运算符来连接字符串:

for(int i=0;i<5;i++)
{
cpy += *seq[i];
}
cout<<cpy<<endl; // print all strings according to new order

但是,我在您的代码中没有看到您初始化seq,这似乎是一个指针 - 对于您的示例,我建议省略*