Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
3 / 3 / 0
Регистрация: 31.10.2012
Сообщений: 142

Выделить 2 числа из строки

24.07.2013, 16:12. Показов 1673. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Ни как не получается выделить 2 числа из строки
C++
1
2
3
4
5
6
7
 StreamReader^ sr = gcnew StreamReader( openFileDialog1->OpenFile() );
                 int  x1=0, x2;
                                 String^ line;
                 while(line=sr->ReadLine())
                 {
                    //Здесь надо выделить два числа со строки: x1 и x2
                 }
Числа записаны в формате: "число число", то есть между двумя числами пробел. Не подскажите как мне их выделить?

Добавлено через 25 минут
Пытаюсь сделать так,
C++
1
2
3
4
5
6
7
8
9
10
11
StreamReader^ sr = gcnew StreamReader( openFileDialog1->OpenFile() );
                 int number1 =0, number2=0;
                char token[10] = {0};
                 String^ line;
                 while(line=sr->ReadLine())
                 {
                     token = strtok(line, " ");
                     number1 = atoi(token);
                     token = strtok(NULL, " ");
                     number2 = atoi(token);
                 }
но выдает ошибки:
error C2664: strtok: невозможно преобразовать параметр 1 из "System::String ^" в "char *"
1> Оператор определенного пользователем преобразования недоступен, или
1> Нельзя преобразовать управляемый тип в неуправляемый тип
1> error C2440: =: невозможно преобразовать "char *" в "char [10]"
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.07.2013, 16:12
Ответы с готовыми решениями:

Строки. Выделить из строки все подстроки, содержащие числа, и преобразовать в тип integer
Буду очень признателен если вы поможете с этим заданием. А задание таково: у нас есть строка S, она имеет такой вид (общий) => S:='123...

Выделить числа из строки
Как сделать в данном случае проверку на совпадения S с числом? Пробел служит чертой между данными в текстовом документе, там все вида: ...

Выделить числа из строки
Нужно достать все числа из строки выражения Не совсем понимаю какую регу в сплит подавать... var str = "2+2*2-2"; var...

8
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,649
Записей в блоге: 6
24.07.2013, 16:21
Например можно воспользоваться ф-й:
C++
1
char* strstr(const char *s1, const char *s2);
Она возвращает указатель на первое вхождение строки s2 в s1.
Здесь s2 = ' ', а далее посимвольно копируете в новую строку до указателя который возвращает эта ф-я.
но выдает ошибки:
Оно как бы и понятно у вас типы неприводимы.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.07.2013, 16:32
Так можно:
C++
1
2
3
int number1 = 0, number2 = 0;
char *line = "12 14";
sscanf(line, "%d%d", &number1, &number2);
0
3 / 3 / 0
Регистрация: 31.10.2012
Сообщений: 142
24.07.2013, 16:54  [ТС]
Line должна иметь тип String
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.07.2013, 17:39
Цитата Сообщение от Flash_2oo9 Посмотреть сообщение
Line должна иметь тип String
Я таких типов не знаю. Если string, то можно так:

C++
1
2
3
int number1 = 0, number2 = 0;
string line = "12 14";
sscanf(line.c_str(), "%d%d", &number1, &number2);
0
3 / 3 / 0
Регистрация: 31.10.2012
Сообщений: 142
24.07.2013, 17:49  [ТС]
Забыл сказать что программа под .NET

Добавлено через 3 минуты
alsav22, снова ошибка "error C2228: выражение слева от ".c_str" должно представлять класс, структуру или объединение"

Добавлено через 6 минут
переменную типа string можно объявить только в виде
C++
1
String^ line;
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.07.2013, 17:52
Цитата Сообщение от Flash_2oo9 Посмотреть сообщение
String^
Это, по моему, не С++. Может на другом форуме вопрос задать?
0
3 / 3 / 0
Регистрация: 31.10.2012
Сообщений: 142
24.07.2013, 17:53  [ТС]
С++ под .NET
Windows Form Applicarion
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.07.2013, 17:59
Может сюда? https://www.cyberforum.ru/cpp-cli/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.07.2013, 17:59
Помогаю со студенческими работами здесь

Выделить числа из строки
Программа выделяет из случайной строки (введенной пользователем) числа (только целые) и помещает их в массив по возрастанию

Выделить числа из строки
Ребят, подскажите как из listbox1( суп-80руб, яйцо-30руб) выдернуть числа а потом посчитать их сумму и вывести в label1

Выделить числа из строки
Мне стыдно((( Вроде бы простейшая задача: из строки вида "1 2 3 4 5" выделить числа и забить их в вектор. Написал вроде все правильно, а...

Выделить из строки только числа
Доброго времени суток. Помогите с задачкой пожалуйста. Суть такова: есть строчка, состоящая из: чисел , знаков '+' и '-',букв. Нужно чтобы...

Выделить из строки числа и записать в массив
Доброго времени суток! Задача такова: есть строка неопределённого размера (>10000 знаков), состоит эта строка из латиницы, и чисел. Числа...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru