无法将字符串转换为const char / string *转换为int *

时间:2017-01-22 22:28:19

标签: c++ string char int

首先,我想说我是初学者。对不起我的愚蠢问题。

我的程序应该询问你想要输入的单词数量。具体说明这个标签长度是指向单词标签的指针标签的长度(可能听起来令人困惑,但英语不是&#39我的第一语言,道歉,我也不太了解指针。

单词制表符也应该具有每个单词的确切长度,因此 assertEquals(testClass.method(jsonRequest), jsonReturn); 。我做错了什么?

strlen

1 个答案:

答案 0 :(得分:1)

strlen()不接受类string对象,而是使用指向字符串char*的指针:

len = strlen(x); // error so correct it to:
len = x.length();

你也不能将指向整数的指针初始化为类字符串:

int **t;
t[i]=new string[len];
  • 你真的想要一个字符串数组,但代码真的很乱,所以如果你想要这个:

    int il;
    
    cout << "Amount of words: ";
    cin >> il;
    
    string *t;
    t = new string[il];
    
    for(int i = 0; i < il; i++)
    {
        cout << "Word: ";
        cin >> t[i]; // there's no need for a temporary string `x`; you can directly input the elements inside the loop
        cout << endl;
    }
    
    cout << "You wrote: " << endl;
    
    for( int i = 0; i < il; i++)
        cout << t[i] << endl;
    
    delete[] t;