Я пишу программу на C++, которая читается в файле. Файл должен содержать только числа, а если нет, он просто выдает ошибку.C++ Чтение файла только с номерами
В настоящее время я могу прокрутить файл и строки и получить каждый токен и рассказать, что такое каждый токен, но, видя, что я начинаю с ++, я не знаю, как включать только цифры.
Пример файл будет:
1 2 3 4 5.645 50603 0.543 5.0
100 5.555555 600 1 0 5
67.64
65.6 70
<spaces>
90
Я попытался отрываясь несколько способами, и я попытался использовать пространство для разделителя, но я должен объяснить пустую строку пространств, которой разделители Messes вверх.
Я пробовал эти методы до сих пор:
Этот метод принимает в «5.0», но только печатает его, как «5»: двойной я;
while(fin >> i)
{
cout << " Token value: " << i << endl;
}
Этот метод не будет принимать новой строки/перевод строки только с пробелами:
int i = 0;
int lineNumber = 1;
char token;
const char* const delimeter = " ";
while (fin.good())
{
// read line into memory with a max length of 10 characters per line
char buffer[1024];
fin.getline(buffer, 1024);
// array to hold the values until compution
char* token[1024] = {};
// strtok splits a string into tokens
// get the first token
token[0] = strtok(buffer, delimeter);
// check if the first line is blank (blank is set to 0)
if (token[0])
{
for (i = 1; i < 1024; i++)
{
// get more tokens
token[i] = strtok(0, delimeter);
// check if there are no more tokens
if (!token[i])
{
break;
}
}
}
for (int j = 0; j < i; j++)
{
// if (token[j] == " ") cout << " this is a space" << endl;
cout << " Line: " << lineNumber << " --- Token[" << j << "] = " << token[j] << endl;
}
cout << endl;
i++;
lineNumber++;
}
Любые предложения для новичка в C++ (У меня есть опыт Java)?
EDIT: Период углу случай:
Там, кажется, нет никакого признания периода, если оно находится на последней строке и единственный символ. Это не ошибка и не распечатывать период:
12 35 67777.75
54433
.
Однако это бросить правильную ошибку, если это так:
12 36 67777.75
.
54433
Какой код вы пробовали? – Gutblender
Добавленный код, который я пробовал до сих пор. – Sej
Важно ли читать файл по строкам, или вам просто нужно читать цифры по одному? – Galik