Pobranie fragmentu znaku * [duplikat]
To pytanie ma już odpowiedź tutaj:
- Strings in C, how to get subString 10 odpowiedzi
Na przykład, mam to
char *buff = "this is a test string";
I chcesz dostać "test"
. Jak mogę to zrobić?
122
5 answers
char subbuff[5];
memcpy( subbuff, &buff[10], 4 );
subbuff[4] = '\0';
Praca wykonana:)
183
Author: Goz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-23 01:48:01
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-23 01:48:01
Zakładając, że znasz pozycję i długość podłańcucha:
char *buff = "this is a test string";
printf("%.*s", 4, buff + 10);
Możesz osiągnąć to samo kopiując podciąg do innego miejsca docelowego pamięci, ale nie jest to rozsądne, ponieważ masz go już w pamięci.
Jest to dobry przykład unikania niepotrzebnego kopiowania za pomocą wskaźników.
75
Author: Blagovest Buyukliev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-18 11:48:21
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-18 11:48:21
Użyj char* strncpy(char* dest, char* src, int n)
z <cstring>
. W Twoim przypadku musisz użyć następującego kodu:
char* substr = malloc(4);
strncpy(substr, buff+10, 4);
PEŁNA DOKUMENTACJA funkcji strncpy
tutaj .
57
Author: Mihai Scurtu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-11 07:14:02
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-11 07:14:02
Możesz użyć strstr
. Przykładowy kod Tutaj
Zauważ, że zwracany wynik nie jest zakończony znakiem null.
9
Author: Milan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-18 11:40:41
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-18 11:40:41
Możesz po prostu użyć strstr()
z <string.h>
7
Author: Paul R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-18 11:41:13
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-18 11:41:13