Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2009, 01:47   #1
Tiga
Новичок
Джуниор
 
Регистрация: 16.12.2009
Сообщений: 3
По умолчанию Работа со string (C++)

Есть проблемка...
Как из переменной типа string, состоящая из многострочного текста достать определенную строчку, если знаем какую, но не известно какой в ней будет текст???
Tiga вне форума Ответить с цитированием
Старый 16.12.2009, 01:53   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

ну посчитай кол-во переносов строк, в чем проблема то
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 16.12.2009, 01:55   #3
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Если мы знаем какую по счёту строчку то делаем так
Идём по тексту.Есть переменная int curline=0,в которой хранится номер текущей строки и переменная string str где лежит текущая строка
Если текущий символ перевод строки то curline++ и если curline==нашему номеру строки то выводим str;Ощищаем строку
иначе Если текущий символ не перевод строки Записываем текущий символ в конец str.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 16.12.2009, 02:02   #4
Tiga
Новичок
Джуниор
 
Регистрация: 16.12.2009
Сообщений: 3
По умолчанию

это всё понятно... хотелось просто поближе к коду...
ладно, буду пробовать
Tiga вне форума Ответить с цитированием
Старый 16.12.2009, 02:04   #5
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

0x1310 - слово переноса.
int stN=8;
char test[300];
char** strings=0;
for(int i=0,int k=0;i<300;i++)
{
if(((unsigned short)*(test+i))==0x1310)*(strings+ ++k)=(char*)(test+i+1);
}
Что то вроде того, компилятора под рукой нет, не знаю полностью ли валидна программа.

Цитата:
предлагаете string перегнать в char и с ним уже работать?
а из char потом опять в string? чтоб дальше работать с инфой? негуманно
А так вы с классом работаете? Я думал речь об обычных текстовых массивах и вам нужно разбить массив на отдельные строки
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 16.12.2009 в 03:19.
Ivan_32 вне форума Ответить с цитированием
Старый 16.12.2009, 02:12   #6
Tiga
Новичок
Джуниор
 
Регистрация: 16.12.2009
Сообщений: 3
По умолчанию

предлагаете string перегнать в char и с ним уже работать?
а из char потом опять в string? чтоб дальше работать с инфой? негуманно

Последний раз редактировалось Tiga; 16.12.2009 в 02:18.
Tiga вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
String fdbdfbfd Общие вопросы C/C++ 0 24.11.2009 23:14
string и String ds.Dante Общие вопросы .NET 1 24.08.2009 13:26
String [] alexov Общие вопросы C/C++ 4 07.04.2009 20:43
работа с текстом string LeoN Общие вопросы Delphi 13 24.09.2008 10:54
Работа с String Grid - помогите написать "Табель рабочего времени" Deicider Помощь студентам 3 29.11.2006 20:59