入力ファイル内のデータを指定された配列に並べ替えるのに問題があります。入力ファイルには、string、double、および int が含まれています。
- TN 54.5 7
- KY 65.6 23
- PA 123.3 30
- 等
string、double、int データ型の 14 行があります。データは、ファイルと同じ形式で画面に出力されます。1 つの「文字列配列」を使用してデータを画面に出力できましたが、データが上記の順序で出力されません。私は getline() を使用してみましたが、調査を通じて、単に 'input >> variable[max];' を使用することについて多くの話が見られました。個々の変数ごとに。これは、入力ファイルに含まれていない膨大な数と53の数のみを出力します。私はこれをそれよりも難しくしているような気がします。私の配列が小さすぎて、必要な量のデータを読み取ることができないことを知っています(修正する予定です)。誰かが私のためにこれを理解するように求めていません。正しい方向に向けるだけです。データを目的の配列に並べ替える簡単な方法はありますか?
以下のコードは、すべてのデータ型を読み取るために 1 つの配列で使用したものです。
#include <iostream>
#include <fstream>
using namespace std;
void readData(ifstream& input, string []);
int main()
{
string data[14];
char filename[256];
fstream input;
cout << "Enter file name: ";
cint >> filename;
input.open(filename);
if (input.fail())
{
cout << "opening file fail." << endl;
}
readData(input, data);
input.close();
return(0);
}
void readData(ifstream& input, string data[14])
{
int count;
count = 0;
while (count < 14 && !input.eof())
{
input >> data[count];
count << data[count] << endl;
count++;
}
}