Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/349: Рейтинг темы: голосов - 349, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 26.06.2008
Сообщений: 14

Как работает string-метод - substr(pos,n) ? Помогите найти ошибку!

15.07.2008, 16:47. Показов 71135. Ответов 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
// substr.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    string str[2],str2[2][10];
    int i,j,n=3,pos=0;
    str[0]="clkvj_jsgkjssdfgjjsfgksjkghjjk";
    str[1]="jjjthhjguyuykiuouiophjpuiphioh";
    for(i=0;i<2;i++)
        for(j=0;j<str[i].length()/3;j++){
            str2[i][j]=str[i].substr(pos,n);
            pos+=n;
            cout<<str2[i][j];
        }
    cin.get();
    return 0;
}
Должно выдать в столбик два массива строк: str2[0] и str2[1].


А выдаёт str2[0] и потом всякие символы.


Как я понял косяк с исключениями:

First-chance exception at 0x7c812a5b in substr.exe: Microsoft C++ exception: std::out_of_range at memory location 0x0012faa8..
Unhandled exception at 0x7c812a5b in substr.exe: Microsoft C++ exception: std::out_of_range at memory location 0x0012faa8..

но я в этом пока не силён.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.07.2008, 16:47
Ответы с готовыми решениями:

Ошибка с substr(): "substr() expects parameter 1 to be string, array given"
Помогите, не могу понять что не так. Как сделать что-бы заработало? Вот часть кода: $rgrt_one = substr($flags, 0, floor($stringL)); ...

Метод Гаусса - помогите найти ошибку
function metodgayssCLOY(a, b) ab = ; oldab = ab; s = size(ab); s1 = ; disp(ab); dbstop 1; ...

Объясните как работает метод Any у String
Доброго времени суток. Ни как не могу понять как работает метод Any в классе String .Пытался читать справку на MSDN , там весьма скудно с...

5
 Аватар для Turbosega
40 / 40 / 10
Регистрация: 27.06.2008
Сообщений: 118
15.07.2008, 16:52
str.substr(pos,n) - возвращает n символов строки str начиная с позиции pos
0
0 / 0 / 0
Регистрация: 26.06.2008
Сообщений: 14
15.07.2008, 16:54  [ТС]
я знаю, тут ошибка какая-то
0
 Аватар для Turbosega
40 / 40 / 10
Регистрация: 27.06.2008
Сообщений: 118
15.07.2008, 16:56
Какая у тебя задача? вивести каждый третий символ каждой третьей строки?
0
0 / 0 / 0
Регистрация: 26.06.2008
Сообщений: 14
15.07.2008, 17:08  [ТС]
из двух строк[30] выделить подстроки по 3 символа
0
 Аватар для Turbosega
40 / 40 / 10
Регистрация: 27.06.2008
Сообщений: 118
15.07.2008, 17:23
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
string str[2],str2[20];
int i,j,n=3,pos=0;
str[0]="clkvj_jsgkjssdfgjjsfgksjkghjjk";
str[1]="jjjthhjguyuykiuouiophjpuiphioh";
for(i=0;i<10;i++)
{
str2[i]=str[0].substr(pos,3);
pos+=3;
}
for(i=10;i<20;i++)
{
str2[i]=str[1].substr(pos,3);
pos+=3;
}

for(i=0;i,20;i++)
cout<<str2[i]<<endl;
cin.get();
return 0;
}
Я думаю так поканает...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.07.2008, 17:23
Помогаю со студенческими работами здесь

Удалить значение из базы.Не работает форма.Помогите найти ошибку?
&lt;form id=&quot;myform&quot; &gt;&lt;select id=&quot;mymenu&quot; &gt;&lt;option value=&quot;Алексей СИБВТ&quot;&gt;Алексей СИБВТ&lt;/option&gt;&lt;option value=&quot;Алексей Захарчев...

Народ помогите найти ошибку в коде, почему он не работает я в этом профан просто
Так что ты колотишся так рано? Времени ещё вагон!!!

Помогите исправить ошибку: string не найден оператор
Когда хочу напечатать строку string то появляется ошибка что не найден оператор #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Что такое String.Pos
Что такое String.Pos, как оно работает. Я новичок, но в моей задаче надо ето использовать. Помогите)

String.Pos и продолжение поиска
Как можно один раз использовав Pos, что бы при следующим применении поиск выполнялся с того самого места???


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru