반응형
char *의 부분 문자열을 얻는다. [중복]
이 질문에는 이미 답변이 있습니다.
- C의 문자열, subString 11 답변 을 얻는 방법
예를 들어, 나는 이것을 가지고
char *buff = "this is a test string";
그리고 싶어 "test"
. 어떻게해야합니까?
char subbuff[5];
memcpy( subbuff, &buff[10], 4 );
subbuff[4] = '\0';
작업 완료 :)
부분 문자열의 위치와 길이를 알고 있다고 가정합니다.
char *buff = "this is a test string";
printf("%.*s", 4, buff + 10);
하위 문자열을 다른 메모리 대상으로 복사하여 동일한 결과를 얻을 수 있지만 메모리에 이미 있으므로 합리적이지 않습니다.
포인터를 사용하여 불필요한 복사를 피하는 좋은 예입니다.
사용 char* strncpy(char* dest, char* src, int n)
에서 <cstring>
. 귀하의 경우 다음 코드를 사용해야합니다.
char* substr = malloc(4);
strncpy(substr, buff+10, 4);
이 strncpy
기능 에 대한 전체 설명서는 여기에 있습니다 .
사용할 수 있습니다 strstr
. 예제 코드는 here 입니다.
반환 된 결과는 null로 종료되지 않습니다.
당신은 사용할 수 있습니다 strstr()
에서<string.h>
참고 URL : https://stackoverflow.com/questions/4214314/get-a-substring-of-a-char
반응형
'IT' 카테고리의 다른 글
JSON.stringify 출력을 div로 예쁜 인쇄 방식으로 (0) | 2020.06.25 |
---|---|
iOS 9에서 NSURLSession / NSURLConnection HTTP로드 실패 (0) | 2020.06.24 |
Mvc의 컨트롤러에서 다른 컨트롤러를 호출하는 방법 (0) | 2020.06.24 |
Java Collections 목록을 복사하는 방법 (0) | 2020.06.24 |
파이썬에서 문자열의 문자를 알파벳순으로 정렬하는 방법 (0) | 2020.06.24 |