my関数の出力が矛盾しています。この関数は、ファイルを開いてファイルから整数を抽出し、その整数を配列に設定することを想定しています。私は20の整数がある場合、ファイルから配列への抽出に問題があります。私がこれをしようとすると、私は "配列は範囲外です"と思っています。IOファイルコードが矛盾しています
この関数は、ファイル名が正しくないか、ファイルがそのコンテキスト内に整数を持たない場合にも、プロンプトを表示すると仮定しています。どちらも正しく動作しているようです。
ご協力いただければ幸いです。
bool loadArrayFromFile(int a[], int &n)
{
ifstream infile;
string fileName;
cout<<"Enter the name of file: ";
cin>>fileName;
infile.open(fileName.c_str());
if(!infile)
{
cout<<"File didn't open"<<endl; //if file name is incorrect or could not be opened
return false;
}
int count=0; //count values in file
int elem=0; //keeps track of elements
infile>>a[elem];
while(infile.good())
{
elem++;
count++;
infile>>a[elem];
}
if(!infile.eof())
{
cout<<"Wrong datatype in file"<<endl;
infile.clear();
infile.close();
return false;
}
n=count;
infile.close();
return true;
}
プログラムがコードを調べると、自動的にベクトル化されると言われました。だから、私はそれをベクトル化したのです。 – user1188766