2

まず第一に、私はただの初心者で、これが私の最初のC++クラスです

たとえば、 という配列がある場合、result[500]という入力ストリームが既にあります。ifstreamすべてのコンテンツ (基本的にはすべて数値と演算子と 2 つの間の空白ですが、数値と演算子のみが必要です) を配列に格納するにはどうすればよいでしょうか。

たとえば、ファイルは次のとおりです。

 3   4   2   1  -  5 

に来る

result[]= {3,4,2,1,-,5}

誰でもこの問題で私を助けることができますか?

前もって感謝します!!!

4

4 に答える 4

3

見てくださいstd::fstream

  1. 読む:

    std::ifstream ifs("data.txt");
    for (int i = 0; i < N; ++i)
    {
        ifs >> array[i];
    }
    
  2. 保管:

    std::ofstream ofs("data.txt");
    for (int i = 0; i < N; ++i)
    {
        ofs << array[i] << " ";
    }
    
于 2012-09-20T16:33:52.387 に答える
1

forループを使用してすべての要素を反復し、それらをダンプして1つずつ出力し、必要に応じてフォーマットを追加する必要があります

于 2012-09-20T16:34:03.333 に答える
1

ストリーム読み取りコードに置き換えるREAD_FROM_STREAMと、多かれ少なかれそれが行われるはずです。

int i = 0;
int x = 0;
while(x = atoi(READ_FROM_STREAM)) {
  array[i++] = x;
}

i<MAX_ARR_SIZEおそらくそれまたは同様のものも確認する必要があります。

于 2012-09-20T16:36:28.557 に答える
1
  1. 各行を読む
  2. 空スペース区切りで各行を分割する
  3. 要素を stl リストに格納する
  4. std::sort を使用して要素をソートします

これらの各行は、インターネットを検索して自分で解決策を見つけるためのキーワードであるため、C++ を学習できます。

幸運を

于 2012-09-20T16:37:28.113 に答える