0

次のように、改行で区切られた一連の数字を含むテキスト ファイルがあります: 123.25 95.12 114.12 など...

問題は、私のプログラムがそれを読み取るときに、2番目の数値までの数値を配列にコピーし、残りの要素をゼロで埋めることです。区切り文字と無視ステートメントを使用してみましたが、何も機能しませんでした。これがコードです。

編集(ここにプログラム全体があります:)

#include <iostream>
#include <string.h>
#include <iomanip>
#include <fstream>

using namespace std;


struct utilityInfo
{
    char utility[20];
    double monthlyExpenses[12];
};

int main(){

utilityInfo Utility[3];

char charray[100];

fstream inFile;  
inFile.open("expenses.txt");
inFile.getline(charray, 7);
cout<<charray<<endl;
if(inFile.fail()) cout<<"it didnt work";

for(int i=0; i<12; i++)
{
    inFile.getline(charray,20);
    Utility[0].monthlyExpenses[i]=atof(charray);
}

for(int z=0; z<12; z++)
{
cout<<Utility[0].monthlyExpenses[z]<<endl;
}

inFile.close();


return 0;
} 

テキストファイルは次のようになります。

207.14 
177.34
150.55
104.22
86.36
53.97
52.55
58.77
64.66
120.32
153.45
170.90

出力は次のようになります。

207.14
177.34
0
0
0
0
0
0
0
0
0
0
4

1 に答える 1