2013-04-27 1 views
-2

그럼 나는이처럼 보이는 라인이 있다고 가정 해 보자?문자 배열의 끝을 구문 분석하는 방법? 내가 어떻게 분석 할 수</p> <pre><code>"abcdefghi" </code></pre> <p>내가 "안녕하세요"싶은 경우에, 그것은 뒤에 오는 아무것도 :

나는 strtok(str, "'\0'")을 시도했지만 작동하지 않는 것 같습니다.

C에서이 작업을 수행 할 수있는 기능이 있습니까?

+0

당신이 exactelly 무엇을 원하는가? 네 끈의 마지막 2 자루? – MOHAMED

+1

음,'strstr (stuff, "hi")'아마도? –

+0

'printf ("% s", "abcdfghi"+ 6); ' – pmg

답변

2

먼저, 선언과 정의는 어딘가 이전 프로그램의 필요 :

// Find length of string. 
size_t length = strlen(x); 

// Copy last two characters. 
strcpy(y, x+length-2); 
: 다음 x의 마지막 두 문자와 종료 널 문자

#include <string.h> 
… 
char y[3]; // Define array to hold results. 

로 복사 할 수 있습니다

x에는 2 자 이상이 포함되어야합니다.

또는, 널 종료 문자가없는 두 개의 문자로 복사 할 수 있습니다 :

// Find length of string. 
size_t length = strlen(x); 

// Copy last two characters without the terminating null character. 
strncpy(y, x+length-2, 2); 

또는 :

// Find length of string. 
size_t length = strlen(x); 

// Copy last two characters without the terminating null character. 
y[0] = x[length-2]; 
y[1] = x[length-1]; 
+0

정말 고맙습니다. C가 당신이 그런 문자를 복사하는 것을 허락하지 않았다고 생각합니다. 다시 한 번, 내 질문을 명확히하고 철저히 대답 해 주셔서 감사합니다. – Laurence

0

strstr을 사용하면 문자열에 부분 문자열을 찾을 수 있습니다.

char * pointsToHi = strstr(string , "hi") ; 
+0

대단히 고맙습니다. 지금 내 코드에서 작동하려고합니다. – Laurence