0

私が理解していることから、cin.getLineは最初の文字(これはポインターだと思います)を取得し、次にその長さを取得します。私はcharのためにcinのときにそれを使用しました。配列の最初の文字へのポインタを返す関数があります。配列の残りの部分を、配列全体を使用できるcharに変換するのと同等のものはありますか?私がやろうとしていることを以下に説明しました。関数は正常に動作しますが、それが役立つ場合は、関数を投稿できます。

cmd_str[0]=infile();// get the pointer from a function
cout<<"pp1>";
cout<< "test1"<<endl;
//  cin.getline(cmd_str,500);something like this with the array from the function                                                   
cout<<cmd_str<<endl; this would print out the entire array
cout<<"test2"<<endl;
length=0;
length= shell(cmd_str);// so I could pass it to this function   
4

2 に答える 2

1

文字列ストリームを使用できます。

char const * p = get_data();  // assume null-terminated

std::istringstream iss(std::string(p));

for (std::string line; std::getline(iss, line); )
{
    // process "line"
}

文字配列が null で終了していないが、指定された sizeNを持っている場合は、代わりにと言いstd::string(p, N)ます。

于 2012-04-14T23:33:49.867 に答える