ACL_ARGV - 문자열 분할 동적 배열

2614 단어 데이터 구조.net
문자열 분할 은 프로그램 작성 과정 에서 자주 해 야 할 일 입 니 다. 예 를 들 어 문자열: hello World, you are welcome!단어 분할 을 진행 한 결과 5 개의 단 어 를 얻 고 싶 습 니 다: hello, World, you, are, welcome.ACL 사용ARGV 함 수 는 이 기능 을 매우 쉽게 실현 할 수 있 습 니 다. 다음 과 같 습 니 다.
//      ,     ' ', '\t', ',', '!'

ACL_ARGV *argv = acl_argv_split("hello world, you are welcome!", " \t,!");
ACL_ITER iter;  //     

//         

acl_foreach(iter, argv) {
    //               
    const char *ptr =  (const char*) iter.data;

    //     
    printf(">>>%s
", ptr);  } // acl_argv_free(argv);

 이 를 통 해 알 수 있 듯 이 ACL 사용ARGV 함수 분할 문자열 은 이렇게 간단 합 니 다.그리고 ACL 때문에ARGV 구조 정 의 는 ACL 에 부합 합 니 다.ITER 규범 (C 언어 에서 교체 기의 디자인 과 사용 참조), 그래서 직접 aclforeach () {} 방식 으로 옮 겨 다 닙 니 다.
 
이 예 는 lib 를 사 용 했 습 니 다.acl/include/acl_argv. h 의 두 함수 인 터 페 이 스 는 다음 과 같 습 니 다.
/**
 *                        
 * @param str {const char*}     
 * @param delim {const char*}      
 * @return {ACL_ARGV*}
 */
ACL_API ACL_ARGV *acl_argv_split(const char *str, const char *delim);

/**
 *          
 * @param argvp {ACL_ARGV*}          
 */
ACL_API ACL_ARGV *acl_argv_free(ACL_ARGV *argvp);
 
이외에 aclargv. h 에 서 는 다음 과 같은 다른 편리 한 함수 인 터 페 이 스 를 제공 합 니 다.
/**
 *                   ,    NULL       
 * @param argvp {ACL_ARGV*}          
 * @param ...      ,     NULL,    :{s1}, {s2}, ..., NULL
 */
ACL_API void acl_argv_add(ACL_ARGV *argvp,...);

/**
 *                         
 * @param argvp {ACL_ARGV*}          
 * @param ...              , : {s1}, {len1}, {s2}, {len2}, ... NULL
 */
ACL_API void acl_argv_addn(ACL_ARGV *argvp,...);

/**
 *                        ,          
 * @param str {const char*}     
 * @param delim {const char*}      
 * @param n {size_t}       
 * @return {ACL_ARGV*}
 */
ACL_API ACL_ARGV *acl_argv_splitn(const char *str, const char *delim, size_t n);

/**
 *            ,                
 * @param argvp {ACL_ARGV*}          
 * @param str {const char*}     
 * @param delim {const char*}      
 * @return {ACL_ARGV*}
 */
ACL_API ACL_ARGV *acl_argv_split_append(ACL_ARGV *argvp, const char *str, const char *delim);
 
이 함수 들 은 문자열 을 분할 조합 할 때의 조작 기능 을 제공 합 니 다.
      ACL 라 이브 러 리 다운로드 위치:http://acl.sourceforge.net/

좋은 웹페이지 즐겨찾기