Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sean_mephi
1 / 1 / 1
Регистрация: 15.11.2013
Сообщений: 79
#1

Переполнение строки при считывании из файла - C++

05.02.2014, 13:26. Просмотров 350. Ответов 4
Метки нет (Все метки)

Считываю я строки из файла, в котором их 500 тысяч. Если строка начинается на R, то я записываю её в другой файл. Примерно на 312000-й строке мне выдаётся ошибка string subscript is out of range
Вот отрывок кода:
C++ (Qt)
1
2
3
4
5
6
while(rts)
        {
            string s;
            getline(rts,s);
            if(s[0]=='R') sorted<<s<<endl;
        }
Что я делаю не так? Хотелось бы чтобы процесс шёл до конца файла. Писать нужно только на плюсах.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2014, 13:26     Переполнение строки при считывании из файла
Посмотрите здесь:

Переполнение при считывании из файла - C++
Подскажите пожалуйста, где ошибка, вот код чтения из файла: void read_file(void) { int mass; FILE* file = fopen(&quot;arr.txt&quot;, &quot;r&quot;); ...

Зацикливает, при считывании строки - C++
Даже не запрашивает ввод, сразу зацикливает. Что не так? case 3: { char* r = new char; int i, z = 0, n...

Проблема при считывании из файла - C++
Пишу простенькую программу по криптографии. В результате шифрования получается txt файлик с набором закорючек(он во вложении). Для...

Ошибки при считывании строки из файлы - C++
Добрый вечер. Бьюсь с этой проблемой уже не первый день. Но вразумительно ответа в интернете так и не нашел. В программе нужно считать...

Лишние биты при считывании файла - C++
Нужно порциями по 63 байта считать текст из файла. &quot;in&quot; - мой открытый файл для чтения. Вот отрывок из кода fseek(in, 0, SEEK_END); ...

Ошибка, при считывании инфы с файла... - C++
Вот есть код:#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;fstream.h&gt; #include &lt;stdio.h&gt; #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13053 / 7316 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
05.02.2014, 13:30     Переполнение строки при считывании из файла #2
C++
1
2
3
4
5
string s;
while(getline(rts,s))
        {           
            if(s.size() > 0 && s[0]=='R') sorted<<s<<endl;
        }
Sean_mephi
1 / 1 / 1
Регистрация: 15.11.2013
Сообщений: 79
05.02.2014, 13:33  [ТС]     Переполнение строки при считывании из файла #3
Croessmah, спасибо. А ещё такой вопрос: Мне нужно откинуть строки в которых есть символ #. Он может стоять где угодно в строке. Какое условие в if нужно добавить?
Croessmah
Модератор
Эксперт CЭксперт С++
13053 / 7316 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
05.02.2014, 13:39     Переполнение строки при считывании из файла #4
C++
1
2
3
4
std::size_t found = s.find('#');
if (found!=std::string::npos){
   //символ найден
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2014, 14:04     Переполнение строки при считывании из файла
Еще ссылки по теме:

Конец файла при потоковом считывании - C++
if (fin.eof()==0){ cout &lt;&lt; &quot;aaa&quot;; int asa; asa = (int)buf; fout.write((char*)buf, sizeof(buf - asa)); } вот...

Ошибка при считывании двоичного файла - C++
При считывании из .EXE файла возникает ошибка, а возникает она когда считываемый байт равен 0x1A. Если он есть в файле то программа &quot;видит&quot;...

Разъясните ошибки при считывании файла - C++
не пойму что от меня требуется тут) пол года изучаем язык) часть ошибок исправил но при считывании с файла лепит нарушение прав доступа ...

При считывании из файла не выводится отчество - C++
Необходимо прочитать из файла фамилию студента, имя и отчество. И вывеси на экран фамилию и инициалы. Вот код, но выводит ерунду...

Неверная кодировка при считывании из файла - C++
Проблема такая, при считывание из файла идет кракозябра, как это исправитьsetlocale(LC_ALL, &quot;rus&quot;); FILE *fp; if(!(fp =...

Сбивается указатель при считывании из файла - C++
Сбивается указатель, считывается не то значение (вместо '1' считывается пробел и всё летит). Но если открыть этот файл в WordPad'e добавить...


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

Или воспользуйтесь поиском по форуму:
Sean_mephi
1 / 1 / 1
Регистрация: 15.11.2013
Сообщений: 79
05.02.2014, 14:04  [ТС]     Переполнение строки при считывании из файла #5
Croessmah, вообще ничего не записывает.
C++ (Qt)
1
2
3
4
5
6
7
8
9
    else
    {
        string s;
        while(getline(rts,s))
            {         
                size_t found = s.find('#');
                if(s.size() > 0 && s[0]=='R' && (found!=string::npos)) sorted<<s<<endl;
            }
    }
Добавлено через 13 минут
Потому что там нет #. Меня обманул эксель. Спасибо Вам за помощь
Yandex
Объявления
05.02.2014, 14:04     Переполнение строки при считывании из файла
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru