3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
|
1 | |
Чтение символов из строки30.04.2013, 19:26. Показов 7873. Ответов 23
Метки нет (Все метки)
Мне нужно из строковой переменной считать символы. То есть, например, имеем строку 56->57. Нужно считать символы до ' - ', в другую переменную того же типа. Как сие сделать?
0
|
30.04.2013, 19:26 | |
Ответы с готовыми решениями:
23
Получить из строк новую строку, содержащюю первые N1 символов строки S1 и последнии N2 символов строки S2 Получить новую строку, содержащую первые N1 символов строки S1 и последние N2 символов строки S2 Чтение строки символов из файла Чтение символов только первой строки из файла .txt |
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
||||||
30.04.2013, 19:33 | 2 | |||||
1
|
3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
|
30.04.2013, 20:15 [ТС] | 3 |
Спасибо, все работает!
Добавлено через 35 минут Только есть ещё один вопрос, как сделать, чтобы если в строке нашел те же символы, что в temp, можно было их в строке заменить на символы из третьей переменной?
0
|
3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
||||||
30.04.2013, 20:34 [ТС] | 5 | |||||
Зачем он тут устанавливает условие
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
30.04.2013, 20:37 | 6 |
Затем,чтобы сделать все замены в строке. Функция поиска возвращает -1, если нету вхождений подстроки в строку, то есть, пока есть вхождения-искать, если нету вхождений, выйти из цикла.
0
|
3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
|
30.04.2013, 20:42 [ТС] | 7 |
Здесь число в скобках, это количество символов?
На функции find и erase пишет - [C++ Error] Unit1.cpp(70): E2316 'find' is not a member of 'AnsiString'
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
30.04.2013, 20:54 | 8 |
Там два числа. count-это позиция первого символа, который надо удалить. 1-это количество символов, которые над удалить.
Вообще, это очень примитивный метод. Если хотите как-то лучше написать, то почитайте вот это Добавлено через 9 минут Mind_Hunter, а Вы используете AnsiString? для них надо смотреть свои функции
0
|
3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
|
30.04.2013, 20:56 [ТС] | 9 |
ни одной переменной AnsiString не использую, библиотека string подключена. Переменные string
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
30.04.2013, 21:12 | 10 |
Mind_Hunter, полный код в студию. И какая у Вас среда?
0
|
3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
||||||
30.04.2013, 21:14 [ТС] | 11 | |||||
Borland C++ Bulider 6.
Код -
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
30.04.2013, 22:41 | 12 |
Mind_Hunter, где Вы тут используете find и erase?
Добавлено через 17 секунд Не по теме: простите за длительное отсутствие
0
|
3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
||||||
30.04.2013, 23:05 [ТС] | 13 | |||||
Глупость произошла - свет вырубили, а я не сохранил. Теперь по-другому пойти решил. Нашел функцию с подстроками, так вроде проще, да только не срабатывает. Вот код:
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
30.04.2013, 23:15 | 14 |
Mind_Hunter, ага. Теперь вижу AnsiString. И что у Вас не срабатывает?
0
|
3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
|
30.04.2013, 23:18 [ТС] | 15 |
Я строки из листбокса беру поочередно, разбиваю на две подстроки и их присваиваю в массивы beginmas и finalmas, а потом ищу совпадение в строке slovo. Если с beginmas есть совпадение, то эти символы в slovo меняются на символы элемента finalmas с тем же индексом, что и beginmas. а он по всей видимости не присваивает подстроки в эти массивы, ибо на выходе получаю то же слово, которое ввел в начале
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
30.04.2013, 23:30 | 16 |
Я не сильно знаком с функцией SubString, но судя по этому, Вы Temp присваиваете 1 символ, после чего пытаетесь элементу beginmas[i](это символ) присвоить значение длинной в 2 символа, начиная с позиции 1, хотя нумерация с 0,а всего элементов 1. Или я не понимаю, что это за функция и как она работает, или я не понимаю как оно вообще скомпилировалось.
Добавлено через 48 секунд Я про этот участок кода
0
|
3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
|
30.04.2013, 23:34 [ТС] | 17 |
Ну beginmas это AnsiString массив. А temp=RulesListBox->Items->Strings[i] - это строка из листбокса, она из 5-6 символов состоит. Вот тут то я и залип.
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
30.04.2013, 23:38 | 18 |
0
|
3 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 120
|
|
30.04.2013, 23:39 [ТС] | 19 |
В том, что вроде написано все правильно, но ровным счетом ничего не происходит
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
30.04.2013, 23:45 | 20 |
Советую задать этот же вопрос в разделе "Visual c++ и базы данных". Лично я пока ничем не могу помочь пока что.
0
|
30.04.2013, 23:45 | |