logo

C의 Strsep() 함수

소개:

문자열 의 필수 구성 요소입니다. 프로그램 작성 , 의사소통을 가능하게 하기 때문입니다. 사용자, 결과 표시 및 파일 읽기 . 이는 일종의 데이터 입력 및 출력 메커니즘입니다. 부터 문자열 문자열은 우리가 만드는 프로그램에서 어느 정도 지속적으로 사용되므로 문자열을 효율적으로 처리하고 이를 처리하는 기능이 중요합니다.

이 튜토리얼에서는 다음을 사용하여 구분 기호에 따라 텍스트를 나누는 방법을 설명합니다. strsep() 메서드 .

우리는 입력 그리고 출력 인수 ~을 위한 문자열() , 그것은 통사론 그리고 이론적 설명 , 그리고 이러한 각 인수에 허용되는 데이터 유형입니다.

다음으로 코드 조각과 그래픽을 사용하여 문자열을 조각화함으로써 배운 내용을 실습해 보겠습니다. strsep() 메서드 , 이는 실제 사례에서 설명됩니다.

C 언어의 Strsep() 함수 구문:

 char *strsep(char **restrict stringp, const char *restrict delim); 

C의 Strsep() 함수에 대한 설명:

  • 를 사용하여 분해됩니다. strsep() 함수 , 미리 결정된 구분 기호로 시작합니다.
  • 그만큼 가 지적한 문자열 입력 인수는 이 함수에 의해 분할된 다음 조각이 결합되어 모두 널 문자로 끝나는 새 문자열을 형성합니다.
  • 각각의 새 문자열은 주소 출력 포인터에 의해 제공되고 종료됩니다. 구분 기호 에 의해 지정됨 나는 공유한다 그리고 문자열() 구분 기호가 발견되면 함수는 이를 null 문자로 대체하여 새 문자열의 끝을 나타냅니다.
  • 그만큼 문자열 포인터 함수가 호출에서 반환될 때 구분 기호 문자가 발견된 후 조각 시작 부분에 자동으로 설정됩니다. 그만큼 문자열 포인터 이제 다음 함수 호출에서 다음 조각을 얻을 준비가 되었습니다. 까지 문자열() 구분 기호가 부족하여 널 포인터를 반환합니다. 결과적으로 이 프로세스는 호출할 때마다 반복됩니다.

이 함수는 구분 기호를 널 문자로 대체하여 입력 텍스트를 취소할 수 없게 변경한다는 점에 유의해야 합니다. 그만큼 'string.h' 헤더 의 정의가 포함되어 있습니다. strsep() 함수 . 이 기능과 기타 문자열 관리 기능을 사용하려면 다음과 같이 이를 코드에 통합해야 합니다.

 #include 

C 언어의 Strsep() 함수를 사용하여 문자열을 여러 조각으로 분할하는 방법

이 예에서는 문구가 '프로그래밍을 시작하자' 문자열로 생성되며 내용은 다음을 사용하여 분리됩니다. strsep() 함수 . 그런 다음 새로 생성된 각 문자열은 다음의 별도 줄에 생성됩니다. 명령 터미널 . 가 가리키는 문자열 문자열p delim 입력 인수에 사용하는 구분 기호는 다음과 같으므로 입력 매개 변수는 단어별로 구분됩니다. 공백 문자(' ') .

파워셸 관리자

우리는 '죄' 텍스트와 함께 문자열 '프로그래밍을 시작하자' 그리고 'in_Ptr' 포인터 에서 주요 기능 . 그만큼 strsep() 함수의 stringp 입력 인수는 이 포인터입니다.

다음과 같이 delim 입력 인수 에 대한 strsep() 메서드 지정된 구분 문자를 추가로 선언합니다. '문자열 델' 공백 문자로. 다음으로 선언합니다. 'o_Ptr' 포인터 , 이는 다음과 같이 사용됩니다. strsep()의 출력 인수 . 그만큼 printf() 메서드 이 포인터를 입력 인수로 사용하여 복구된 조각을 명령 콘솔에 표시합니다.

그 후 공급을 한 후 문자열의 첫 번째 주장으로, 'in_Ptr' 포인터를 두 번째 매개변수로, 'o_Ptr' 포인터 출력 인수로 우리는 strsep() 함수 . 이 호출은 while 루프 더 이상 구분 기호가 없는 탈출 조건을 사용하면 strsep() 반환 널 포인터.

이 예제의 코드는 다음과 같습니다.

 #include #include int main() { char s_in[50] = 'Let's start programming '; char del[20] = ' '; char* in_Ptr = s_in; char* o_Ptr; while ((o_Ptr = strsep(&in_Ptr, del)) != NULL) { printf('%s
', o_Ptr); } return 0; } 

스트렙() 을 나눈다 '죄' 단어별로 문자열을 생성하여 매번 새 문자열을 생성한 다음 아래와 같이 명령 콘솔의 새 줄에 표시됩니다.

해시테이블 자바

산출:

 Let's start programming 

결론

이 기사에서는 다음을 사용하여 문자열을 처리하는 방법을 시연했습니다. strsep() 함수 , 다음에 지정된 함수 중 하나입니다. '문자열.h' 머리글. 우리는 그 이론적 근거에 대해 이야기했습니다. 구문, 호출 기술 , 그리고 작업 . 또한 각 입력 및 출력 인수가 허용하는 데이터 종류를 시연했습니다.