小编Chr*_*ian的帖子

C++,函数中的字符串始终具有相同的长度

这段代码有什么问题?无论我的字符串实际上是更长还是更短,输入在我的函数测试中总是长度为4.

#include <iostream>
#include <string>
using namespace std;

void test(char arr[]){
    string input;

    input = arr[0];
    for (int i=1; i<sizeof(arr)/sizeof(char); i++){input=input+arr[i];}

    cout << input << endl;
    cout << "length: " << input.length() << endl;
}


int main(){
    string input;
    cout << "String: " << endl;
    getline(cin, input);
    char arr[input.length()];
    for(int i=0; i<input.length(); i++) {arr[i] = input[i];}

    test(arr);
}
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
109
查看次数

标签 统计

c++ ×1