powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите пожалуйста разбить строку.
7 сообщений из 7, страница 1 из 1
Помогите пожалуйста разбить строку.
    #39041560
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Код: plaintext
1.
2.
3.
4.
wchar_t * s1 = L"part1.part2.part3";
wchar_t * part1;
wchar_t * part2;
wchar_t * part3;



нужно s1 разбить на части чтоб получилось так

part1 = "part1"
part2 = "part2"
part3 = "part3"
...
Рейтинг: 0 / 0
Помогите пожалуйста разбить строку.
    #39041731
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin
Код: plaintext
1.
wchar_t * s1 = L"part1.part2.part3";



нужно s1 разбить на части чтоб получилось так


Должно быть так:
Код: plaintext
1.
const wchar_t * s1 = L"part1.part2.part3";



и сразу видно, что s1 нельзя разбирь на подстроки, потому что это -- константа.
Можно только создать другие строки с содержимым из s1.
...
Рейтинг: 0 / 0
Помогите пожалуйста разбить строку.
    #39041737
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно воспользоваться функцией strtok() (её широкий вариант -- wchar_t* wcstok (wchar_t* wcs, const wchar_t* delimiters); )

http://www.cplusplus.com/reference/cwchar/wcstok/

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
vector<wchar_t> buf(L"part1.part2.part3");
wchar_t * part1;
wchar_t * part2;
wchar_t * part3;

wchar_t* token = wcstok( &buf[0], L".");
if( token ) 
  part1 =  token;

wchar_t* token = wcstok( NULL, L".");
if( token ) 
  part2 =  token;

wchar_t* token = wcstok( NULL, L".");
if( token ) 
  part3 =  token;
...
Рейтинг: 0 / 0
Помогите пожалуйста разбить строку.
    #39041751
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется парень разбирает URL, и на этом он не остановится. Захочется чего-то большего.
...
Рейтинг: 0 / 0
Помогите пожалуйста разбить строку.
    #39041801
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

я разбираю не URL а имя объекта в SQL базе, например имя процедуры

exec ServerName.SchemaName.ProcName

и это не константа, т.к. это имя задает пользователь в runtime при работе с программой
...
Рейтинг: 0 / 0
Помогите пожалуйста разбить строку.
    #39041804
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ну ОК.
...
Рейтинг: 0 / 0
Помогите пожалуйста разбить строку.
    #39041978
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarinmayton,
и это не константа, т.к. это имя задает пользователь в runtime при работе с программой

Судя по тому как вы написали, константа. Нужно было изначально комментировать что массив символов формируется динамически.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите пожалуйста разбить строку.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]