C++ 如何把;字符串“;,“一个数字”;字符串“;,字符串数组中的另一个数字

C++ 如何把;字符串“;,“一个数字”;字符串“;,字符串数组中的另一个数字,c++,string,syntax-error,C++,String,Syntax Error,我对将下面的数据放入字符串数组有疑问,我的意思是,是否可以按照下面的方法进行操作: for(int i{};i<num;i++) string[i]={"The degree of",i,"'th vertice is",degree[i]} 对于(int i{};i当然,您可以将所有内容放在一个字符串中,并在每个逻辑行之间换行('\n')。只需组合上面给出的代码片段: std::string degrees() { std::string lines; f

我对将下面的数据放入字符串数组有疑问,我的意思是,是否可以按照下面的方法进行操作:

for(int i{};i<num;i++)
    string[i]={"The degree of",i,"'th vertice is",degree[i]}

对于(int i{};i当然,您可以将所有内容放在一个字符串中,并在每个逻辑行之间换行(
'\n'
)。只需组合上面给出的代码片段:

std::string degrees()
{
    std::string   lines;

    for(int i{};i<num;i++)
        lines += "The degree of " + std::to_string(i) +
                 "'th vertice is " + std::to_string(degree[i]) + '\n';

   return lines;
}
std::string degrees()
{
std::字符串行;

对于(inti{};i您也可以尝试类似的方法(编辑以删除传递给度fnc的参数,因为OP不希望这样):

#包括
#包括
向量度={1,5,4,8,2,12,4,30,45,22};
std::字符串度()
{
std::ostringstream oss;
对于(大小i=0;ioss 0?\n:“)
string[i]=”的度数“+std::to_string(i)+”的度数是“+std::to_string(度数[i]);
谢谢您的回答,但是是否可以将下面的文本保存在字符串而不是字符串数组中:(第4个度数是2(新行)第5个度数是3(新行)第6个度数是0(新行)第七学位是6)请提供a。你最好问你想做什么,不要问别的;)你不能打印这样的字符串数组,因为不能正确表达我的意思。我想把所有的垂直度存储在一个字符串中,所以当我调用像这样的函数时:std::coutSuggesting一个小的改进:如果你不需要输入操作,使用
std::ostringstream
。谢谢你的回答,但我必须使用函数“学位”不带任何参数。@A.salehy编辑了我的answer@A.salehy然后标记为!这是在SO中表示感谢的正确方式。
std::string degrees()
{
    std::string   lines;

    for(int i{};i<num;i++)
        lines += "The degree of " + std::to_string(i) +
                 "'th vertice is " + std::to_string(degree[i]) + '\n';

   return lines;
}
#include <iostream>
#include <sstream>

std::vector<int> degree = { 1,5,4,8,2,12,4,30,45,22 };

std::string degrees()
{
    std::ostringstream oss;

    for (size_t i = 0; i < degree.size(); ++i)
        oss << (i > 0 ? "\n" : "") << "The degree of " << i + 1 << "'th vertice is " << degree[i];

    return oss.str();
}

int main()
{

    std::cout << degrees() << std::endl;

    return 0;
}