С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 61, средняя оценка - 4.82
Vlad-letchik
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 38
#1

Ошибка: string subscript out of range - C++

20.05.2012, 20:55. Просмотров 9440. Ответов 9
Метки нет (Все метки)

При запуске выдает ошибку "string subscript out of range". Подскажите, в чем проблема.
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
31
32
33
34
35
36
37
38
39
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string.h>
 
using namespace std;
 
void main( void )
{
 FILE *fp;
 fp = fopen("C:\\text.txt","r");
 char *c  = new char[250];
 string src(c);
 string out;
    int start = 0;
    int count = 0;
    int pos = 0;
    for(;;)
    {
       pos = src.find("'",start);
       start++;
       for(;;)
       {
        if (src[start] == '"')
        {
            start++;
            out += src[start];
        }
        else
        {
            break;
        }
 
       }
       out = "\n";
       out = "";
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2012, 20:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка: string subscript out of range (C++):

Ошибка: String subscript out of range - C++
Expression: String subscript out of range Консольное приложение. Программа должна перерабатывать построчно текстовый файл с кодом и...

Ошибка string subscript out of range - C++
Здраствуйте создал библиотеку, при подключение библиотеки и запуска программи все работает коректно(данние принимаются, обрабативаются,...

Ошибка String subscript out of range - C++
Здравствуйте. Написал на Dev C++ 4.9.9.2 программу которая открывает фаил и кладет все в буфер. Содержание файла: gehen v test*kommen v...

Ошибка expression string subscript out of range - C++
Ребят, уже всю голову разбил... не пойму где здесь может быть ошибка, что я не так сделал???? почему то как обычную строку выводит на...

Ошибка при быстрой сортировке файла: "string subscript out of range" - C++
В файле input.txt содержатся сведения о группе студентов в формате: номер группы; запись о каждом студенте группы содержит следующие...

String subscript out of range - C++
При запуске выдает ошибку &quot;string subscript out of range&quot;. Подскажите, в чем проблема. #include &lt;iostream&gt; #include &lt;string&gt; ...

9
Precise
26 / 26 / 1
Регистрация: 20.05.2012
Сообщений: 43
20.05.2012, 21:30 #2
Это можно перевести вроде: "Ряд индексов находится за пределами диапазона (Массива или чего-либо). Собственно, что должна делать ваша программа?
0
Avazart
Эксперт С++
7262 / 5434 / 304
Регистрация: 10.12.2010
Сообщений: 24,158
Записей в блоге: 17
20.05.2012, 21:36 #3
C++
1
#include <string>// без .h
0
Vlad-letchik
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 38
20.05.2012, 22:31  [ТС] #4
Написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки.
0
Precise
26 / 26 / 1
Регистрация: 20.05.2012
Сообщений: 43
21.05.2012, 00:06 #5
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
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
using namespace std;
 
void main()
{
    string s, str;
    ifstream fin("Text.txt");
    if(fin.is_open())
    {
        while(!fin.eof())
        {
            fin>>s;
            str.append(s);//Метод сцепляющий строки(для получения цельной строки)
        }
    }
    int begin = str.find_first_of('"');//Поиск первой кавычки
    int end =  str.find_last_of('"');//Поиск последней кавычки
 
        for(int i=begin+1; i<end; i++)
        { 
            cout<<str[i]; 
        }
}
Это поиск и вывод экран для одной цитаты, думаю разберетесь, как сделать для множества цитат.)
p. s. Не забываем нажимать спасибо.
4
Vlad-letchik
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 38
21.05.2012, 14:15  [ТС] #6
А можно прокоментировать каждую строчку, а то в программировании я не очень, оно у нас как дополнительный предмет, а прогу нужно сдать, и объяснить код.
0
Precise
26 / 26 / 1
Регистрация: 20.05.2012
Сообщений: 43
21.05.2012, 22:25 #7
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
#include <iostream>
#include <string>//для для использования string и его метода append
#include <vector>//Библеотека методов для контейнера vector
#include <fstream>//для чтение/записи файлов
using namespace std;
 
void main()
{
    string s, str;//Объявляем переменные типа стринг
    ifstream fin("Text.txt");//Входной файл из кот. будем читать данные
    if(fin.is_open())//Если файл открыт
    {
        while(!fin.eof())//Пока не кончился файл
        {
            fin>>s;//Читаем строку из файла
            str.append(s);//Метод сцепляющий строки(для получения цельной строки)
        }
    }
    int begin = str.find_first_of('"');//Поиск первой кавычки
    int end =  str.find_last_of('"');//Поиск последней кавычки
 
        for(int i=begin+1; i<end; i++)//Вывод на экран элементов находящися между первой и последней кавычкой строки
        { 
            cout<<str[i]; //Собственно посимвольный вывод на экран элементов
        }
}
2
Vlad-letchik
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 38
21.05.2012, 22:30  [ТС] #8
1)перменная s для строки, а str для файла?
2)
C++
1
 str.append(s);//Метод сцепляющий строки(для получения цельной строки)
а зачем он?
0
Avazart
Эксперт С++
7262 / 5434 / 304
Регистрация: 10.12.2010
Сообщений: 24,158
Записей в блоге: 17
21.05.2012, 22:33 #9
C++
1
str.append(s);//Метод сцепляющий строки(для получения цельной строки)
Добавляет в конец строки- s равносильно
C++
1
str+=s;
0
Vlad-letchik
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 38
21.05.2012, 22:49  [ТС] #10
это к 1) вопросу?

Добавлено через 13 минут
Ничего не выводит: я немного исправил, чтобы выводило предложения начинающиеся с тире
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
#include "stdafx.h"
#include <iostream>
#include <string>//для для использования string и его метода append
#include <vector>//Библеотека методов для контейнера vector
#include <fstream>//для чтение/записи файлов
using namespace std;
 
void main()
{
    string s, str;//Объявляем переменные типа стринг
    ifstream fin("D:\\dialog.txt");//Входной файл из кот. будем читать данные
    if(fin.is_open())//Если файл открыт
    {
        while(!fin.eof())//Пока не кончился файл
        {
            fin>>s;//Читаем строку из файла
            str.append(s);//Метод сцепляющий строки(для получения цельной строки)
        }
    }
    int begin = str.find_first_of('-');//Поиск тире
    int end =  str.find_last_of(' ');//Поиск окончание реплики(пробел)
 
        for(int i=begin+1; i<end; i++)//Вывод на экран элементов находящися между первой и последней кавычкой строки
        { 
            cout<<str[i]; //Собственно посимвольный вывод на экран элементов
        }
}
Вот содержимое файла: "
-Do you like IT m

-Yes, I like it
ololo
olol-kkj "
0
21.05.2012, 22:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2012, 22:49
Привет! Вот еще темы с ответами:

String subscript out of range - C++
Разбираю пример, который дала препод в примерах к лекциям..Пример по коду Виженера.. Пару раз запустился-результат выводился.Исправила...

Ошибка "String subscript out of range" - C++
#include &lt;SFML/Graphics.hpp&gt; using namespace sf; int ground = 400; int i; const int H = 12; const int W = 40; String...

Тип string и subscript out of range - C++
Доброго времени дня. Такая проблема. Обращаюсь к отдельному элементу массива: #include &lt;iostream&gt; #include &lt;string&gt; ...

Хеш-таблицы: string subscript out of range - C++
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;string&gt; using namespace std; typedef string nametype; struct celltype { ...


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

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

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