Я делаю упражнения из книги Бьярна Страуструпа, Принципы и практика программирования с использованием C ++ .Я выполняю первое упражнение в главе 10 , где говорится, что нужно написать программу, которая выдает сумму всех чисел в файле целых чисел, разделенных пробелами.Я основал свой код ниже на том, что используется для Упражнения 2 из Глава 10.5 .Я получаю сообщение об ошибке при создании объекта ifstream
.Вот код, который я пытаюсь запустить:
#include "../../std_lib_facilities.h"
int main(int argc, const char * argv[]) {
// insert code here...
cout << "Plese enter the input file name: " << endl;
string iname;
cin >> iname;
ifstream ist {iname};
if (!ist) error("Can't open input file ",iname);
vector<int> numbers;
int sum;
int n;
while(ist>>n) {
numbers.push_back(n);
}
for (int i=0; i<numbers.size(); ++i) {
sum += numbers[i];
}
cout << sum << endl;
return 0;
}
Любой вводимый мной код вызывает ошибку.Я пробовал myin, myin.txt или любое другое имя.error("Can't open input file ",iname);
из библиотеки, созданной автором.
Я знаю, что файл существует в том же каталоге, что и main.cpp, и создан с помощью TextEdit из Mac, используя формат для обычного текста.