1 / 1 / 0
Регистрация: 19.10.2017
Сообщений: 59
1

Проблема чтения файла С++ abort() has been called

03.03.2019, 16:04. Показов 2725. Ответов 4
Метки нет (Все метки)

Здравствуйте. Ранее без проблем считывал данные с файлов в С++, а вчера появилась проблема. Попробовал скомпилировать небольшой код, узнать в чем ошибка, но безрезультатно. Попросил скомпилировать на gcc на другой машине - все ок, пробую екзешник запустить получаю ошибку про отсутствие какой то dll-ки . Пожалуйста помогите.

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <string>
#include <iostream>
#include <conio.h>
#include <fstream>
#include <Windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string buff;
    float status1;
    fstream FileReadMainMenu1;
    FileReadMainMenu1.open("part1.txt", fstream::in | fstream::out);
 
    if (!FileReadMainMenu1.is_open())
    {
        cout << "Ошибка";
    }
 
    getline(FileReadMainMenu1, buff);
    status1 = stof(buff);
    cout << status1;
    _getch();
 
    FileReadMainMenu1.close();
}
Миниатюры
Проблема чтения файла С++ abort() has been called   Проблема чтения файла С++ abort() has been called  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2019, 16:04
Ответы с готовыми решениями:

R6010 -abort() has been called
Есть код: task_for_thread: void task_for_thread(const size_t idThread) { while (done.value...

Вылетает : R6010 - abort() has been called
Написал программу которая перемножает 2 очень больших матрицы. На мелких она работает. То есть...

Abort() has been called - Ошибка в работе программы
Только начал изучать C++. Нужно немного помощи. Задача такова, ввести текст(строку), отсортировать...

Abort has been called при создании потока
С помощью CreateRemoteThread запускаю новый поток, в котором примерно следующее: _mainLoop =...

4
"C with Classes"
1581 / 1360 / 511
Регистрация: 16.08.2014
Сообщений: 5,647
Записей в блоге: 1
03.03.2019, 16:20 2
Vlados_Bro, может ты дебаг версию запускаешь?
0
16094 / 8692 / 2124
Регистрация: 30.01.2014
Сообщений: 14,985
03.03.2019, 16:20 3
Лучший ответ Сообщение было отмечено Vlados_Bro как решение

Решение

Vlados_Bro, скорее всего дело вот в чем: файл у вас не открылся, в строке buff вследствие этого - пусто, а функция stof бросается исключениями, если на вход дано ошибочное представление числа. Исключение вы нигде не ловите, вот и получаете ошибку времени исполнения. Аккуратнее пишите код и не будет у вас таких проблем.

Хотя бы так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    fstream FileReadMainMenu1;
    FileReadMainMenu1.open("part1.txt", fstream::in | fstream::out);
 
    if(!FileReadMainMenu1.is_open())
    {
        cout << "Ошибка";
    }
    else
    {
        string buff;
        if(getline(FileReadMainMenu1, buff))
        {
            try
            {
                float status1 = stof(buff);
                cout << status1 << endl;
            }
            catch(std::exception const & e)
            {
                cout << "Invalid floationg number" << endl;
            }
        }
    }
    _getch();
}
1
170 / 122 / 61
Регистрация: 06.02.2015
Сообщений: 300
03.03.2019, 16:52 4
Замени свои 4 строчки
C++
1
2
3
4
getline(FileReadMainMenu1, buff);
    status1 = stof(buff);
    cout << status1;
    _getch();
на это и запусти. У меня ошибка пропала
C++
1
2
3
4
getline(FileReadMainMenu1, buff);
    status1 = strtof((buff).c_str(), 0);
    cout << status1;
    _getch();
Как замечено выше проверь также входной файл
0
1 / 1 / 0
Регистрация: 19.10.2017
Сообщений: 59
03.03.2019, 16:59  [ТС] 5
Спасибо, помогло

Добавлено через 1 минуту
Спасибо, и это помогло)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2019, 16:59
Помогаю со студенческими работами здесь

Debug Error! R6010 - abort() has been called
Помогите исправить ошибку #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int...

Шифр Цезаря: программа выдает "abort() has been called"
#include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;string.h&gt; using namespace...

Проблема чтения DBF файла
Приветствую всех кто это читает! У меня есть траб с чтение DBF файла. Вроде все идет хорошо до...

ADO.NET OleDbDataReader и OleDbCommand проблема чтения из Excel файла, DataReader не получает некоторые ячейки из столбцов
Здравствуйте! Пишу программу, которая считывает данные из таблицы Excel и заносит их в базу SQL. В...

Каким образом после чтения из файла, узнать позицию для чтения следующего куска байт
Здравствуйте, задача такова есть файл, размером 1000 байт, нужно открыть его считать 100 байт,...

Проблема чтения символов ' (апостроф) и
Приветствую. Пытаюсь считать треки и их расположение с файла .plc функцией ExtractStrings,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru