Мне нужно разбить строку на строку в зависимости от местоположения символа. Так что:
str1 = "привет? мир" это str1 = "привет" и str2 = "мир"
Это то, что у меня есть до сих пор:
char str1[100] = "hello?world";
char str2[100];
char *p;
p = strpbrk(str1, "?");
strcpy(&str2, p);
strcspn(str1, '?');
Я получаю ошибки при попытке скопировать символы после 'p' в str2. Должен быть лучший и функциональный способ. Кто-нибудь может мне помочь? Большое спасибо...
strcpy(&str2, p);
должно бытьstrcpy(str2, p);
(ну,p+1
, так какp
указывает на'?'
, а вам нужны вещи после, если я правильно понял). Но это не должно вызывать ошибки. Какие ошибки вы получаете? - person Daniel Fischer   schedule 27.09.2012-Werror
). Хотя&str2
являетсяchar (*)[100]
, адресstr2
совпадает с адресомstr2[0]
, который вы получите, если передадитеstr2
. Таким образом, за исключением некоторых эзотерических реализаций, где указатели на разные типы имеют разные представления,strcpy(&str2, p)
должно вызывать предупреждение, но работать. - person Daniel Fischer   schedule 27.09.2012