1
ファイルから3つの配列にデータを読み込む関数があります。各行を別の配列にする。最初の2つはstring型で、3つ目はdouble型です。私が理解できないような何らかの理由で、ダブルを読む行がコメントアウトされていないとき、最初の3行だけが正しく表示されます。ファイルからのデータをC++の複数の配列に読み込む
const int SYMB_LEN = 25;
const int NAME_LEN = 25;
void read_stocks(char[][SYMB_LEN], char[][NAME_LEN], double[]);
int main() {
char symble[10][SYMB_LEN];
char name[10][NAME_LEN];
double price[10];
read_stocks(symble, name, price);
system("pause");
return 0;
}
void read_stocks(char symble[][SYMB_LEN], char name[][NAME_LEN], double price[]) {
ifstream fin;
fin.open("c://cplusplus//stocks.dat");
if (!fin) {
cout << "Data file not found.";
exit(1);
}
price[0] = 0;
unsigned int temp = 0;
while (!fin.eof() && temp < 10) {
fin.getline(symble[temp], SYMB_LEN);
fin.getline(name[temp], NAME_LEN);
fin >> price[temp];
cout << symble[temp] << endl;
cout << name[temp] << endl;
cout << price[temp] << endl;
//cout << temp << endl;
temp++;
}
fin.close();
}
これは私が読んでいるファイルには何がある:
AAPL
Apple Computer
27
LU
Lucent Technologies
72
NSCP
Netscape
27.75
MOT
Motorola
49.5
PLAT
Platinum Technologies
24.125
SEEK
Infoseek
32.5
YHOO
Yahoo
126
T
AT&T
63
PSFT
Peoplesoft
42.25
PPOD
Peapod
4.5
明らかではありません。何が起こるのでしょうか?投稿したコードは何を印刷しますか? – user463035818