Code::Blocks

User forums => Help => Topic started by: betterlife on March 25, 2019, 08:30:21 pm

Title: Cant open the input file
Post by: betterlife on March 25, 2019, 08:30:21 pm
Hello! 


I learn C++ Stephen Prata books. I have a problem(probably) with a CodeBloks setting, the compiler cant open the input file which is the same folder as program.

PS: sorry for my English
Code: [Select]
#include <iostream>
#include <fstream>
#include <cstdlib>

const int SIZE = 60;

using namespace std;

int main()
{
    char filename[SIZE];
    ifstream inFile;

    cout << "Enter name of data file: ";
    cin.getline(filename, SIZE);
    inFile.open(filename, ios::in | ios::out);
    if (!inFile.is_open());
    {
        cout << "Could not open the file " << filename<< endl;
        cout << "Program terminating \n";
        exit(EXIT_FAILURE);
    }
    double value;
    double sum = 0.0;
    int count = 0;


    inFile >> value;
    while (inFile.good())
    {
        ++count;
        sum += value;
        inFile >> value;
    }
    if (inFile.eof())
        cout << "End of file reached\n";
    else if (inFile.fail())
        cout << "Input terminated by data  \n";
    else
        cout << "Input terminated for unknown reason  \n";
    if (count == 0)
        cout << "No data processed \n";
    else
    {
        cout << "Items read: " << count << endl;
        cout << "Sum: " << sum << endl;
        cout << "Average " << sum /count << endl;
    }
    inFile.close();

    return 0;
}

(https://i.imgur.com/e7clMFC.png)
(https://i.imgur.com/xNbxZIz.png)
(https://i.imgur.com/opD5LWk.png)
(https://i.imgur.com/jxcmOI1.png)
Title: Re: Cant open the input file
Post by: oBFusCATed on March 25, 2019, 08:58:57 pm
Project -> Properties -> Your build target -> Set a correct working directory...
Title: Re: Cant open the input file
Post by: betterlife on March 25, 2019, 09:10:27 pm
What do you mean?
(https://i.imgur.com/zDrZFPT.png)
Title: Re: Cant open the input file
Post by: oBFusCATed on March 25, 2019, 11:10:32 pm
Execution working dir should be set correctly. Yours seems to be. No idea why your code doesn't work. Use a debugger to find out. As a start try with absolute paths.
Title: Re: Cant open the input file
Post by: betterlife on March 26, 2019, 12:35:27 am
I found the problem but I dont know how it works. If I removed this chceck point the program would work corect
Code: [Select]
   if((inFile.good() == true));
    {
        cout << "Could not open the file " << filename<< endl;
        cout << "Program terminating \n";
        exit(EXIT_FAILURE);
    };
Do you have an idea where to find a solution? I read the documentation(C++) and did not find an answer
Title: Re: Cant open the input file
Post by: oBFusCATed on March 26, 2019, 01:03:16 am
http://www.cplusplus.com/reference/ios/ios/good/

Just keep in mind that this is not a general programming support forum and you'll get better help at some other better place.
Title: Re: Cant open the input file
Post by: betterlife on March 26, 2019, 01:04:48 am
I'm really grateful, thank you very much!
Title: Re: Cant open the input file
Post by: omlk on March 26, 2019, 02:34:14 am
 :'(
Title: Re: Cant open the input file
Post by: betterlife on March 29, 2019, 11:38:07 pm
:'(
Hey,
i'm really sorry, i didnt see your post. Thanks for your activity :)