Вот еще одно решение, чтобы открыть файл для чтения построчно:
string line;
ifstream myfile("input.txt");
if (myfile.is_open())
{
while (getline (myfile,line))
{
cout << line << '\n'; // Use this to verify that the number is outputed
// Here you can transform your line into an int:
// number = std::stoi(line);
}
// myfile.close(); Use this if you want to handle the errors
}
else cout << "Unable to open file";
Если вы не хотите, чтобы построчно читать, просто удалите while
...
getline(myfile,line);
number = std::stoi(line);
...
Прочитать несколько номеров в одной строке
Изображение, что ваш входной файл выглядит так:
1, 2,3, 123, 11
1, 2
0,9, 90
Затем, вы можете использовать этот кусок кода, чтобы прочитать все номера:
string line;
ifstream myfile("input.txt");
string delimiter = ", ";
if (myfile.is_open())
{
while (getline (myfile,line))
{
cout << "Reading a new line: " << endl;
size_t pos = 0;
string token;
while ((pos = line.find(delimiter)) != string::npos) {
token = line.substr(0, pos);
cout << token << endl; // Instead of cout, you can transform it into an int
line.erase(0, pos + delimiter.length());
}
}
}
else cout << "Unable to open file";
Выход будет:
Reading a new line:
1
2.3
123
11
Reading a new line:
1
2
Reading a new line:
0.9
90
Новое решение, которое может работать =)
Я не проверял, но это работает, по-видимому:
std::ifstream input;
double val1, val2, val3;
input.open ("input.txt", std::ifstream::in);
if (input >> val1 >> val2 >> val3) {
cout << val1 << ", " << val2 << ", " << val3 << endl;
}
else
{
std::cerr << "Failed to read values from the file!\n";
throw std::runtime_error("Invalid input file");
}
Чтобы проверить IO см http://kayari.org/cxx/yunocheckio.html
[Почему ты не проверяя операцию ввода?] (http://kayari.org/cxx/yunocheckio.html) Что заставляет вас думать, что он читает _any_ значение, правильно или неправильно, если вы его не проверяете? –
-858993460 - это десятичное значение 0xCCCCCCCC, которое вы получаете за неназначенные переменные. Это потому, что ваша переменная 'number' не была заполнена значением, считанным из файла. –
Что означает _ «когда я ввожу число в файле input.txt» означает? Вы пытаетесь отредактировать файл input.txt во время чтения программы? Что содержит файл при запуске программы? –