Имам проблем, когато се опитвам да прочета външния текстов файл. Показаният текст е правилен, но когато става въпрос за запазване на данните в масив, изглежда грешен.
Моите въведени числа са 4 2 8 0 2 3 0 4 0 5, но след преминаване през масива, a[i], се появява само '48'.
#include <iostream>
#include <windows.h>
#include <fstream>
#include <string>
void begin ();
void Process (string);
using namespace std;
int main()
{
begin();
system("pause");
return 0;
}
void begin (void){
string file = "data.txt";
Process(file);
}
void Process (string file)
{
int i=0,ch, n = 0, temp, a[50];
ifstream infile;
infile.open(file.c_str());
Грешката изглежда е причинена от тук.
if(infile.is_open())
{
cout << "File to be read: " << file << endl;
cout << "\n\n";
infile >> temp;
while(!infile.fail())
{
cout << temp << " ";
infile >> temp;
a[i] = temp;
i++;
n++;
}
cout << "\n\n";
cout << "This file has " << n << " numbers. \n\n";
}
else
cout << "The file isn't available! \n\n";
infile.close();
Когато се опитам да изведа резултата, се появява само 48.
for (int z = 0; z < i; z++)
{
cout << a[i] << endl;
}
}
Нов съм тук. Моля помогнете. Благодаря предварително.