1. 형식
형식1) result= strchange_preset(search_str, replace_str)
형식2) result= strchange_preset(search_str, replace_str, separator)
형식3) result= strchange_preset("","")
형식4) result= strchange_preset()
2. 기능: 이 함수는 strchange() 함수를 사용할 때 공통되는 찾기와 바꾸기 단어를
사전에 설정 또는 해제하는 역할을 한다. 형식1)과 형식2)는 공통 찾기와
바꾸기를 설정하며 형식3)과 형식4)는 공통 찾기와 바꾸기를 해제하는 것을
의미한다.
3. 설명
(1) search_str은 찾을 문자열이며 수치이면 문자열로 변환된다. 찾을 단어가
여러개일 경우 단어 분리 문자로 구분하여 나열할 수 있으며, 이들은
search_str의 왼쪽에서 오른쪽의 순서로 처리되며 strchange() 함수
에서 사용되는 search_str보다 우선 처리된다.
(2) replace_str은 바꿀 문자열이며 수치이면 문자열로 변환된다.
바꿀 단어가 여러개일 경우 단어 분리 문자로 구분하여 나열할 수 있으며,
strchange()함수에서 사용되는 replace_str보다 우선 처리된다.
(3) 여러 단어를 찾아 바꾸고자 할 때 search_str내의 단어와 replace_str내의
단어의 개수가 다르면 에러 처리된다.
(4) search_str과 replace_str에서 각 단어의 길이가 64자를 초과하면 나머지는
무시되며 여러 단어를 사용할 때 단어수가 64개를 초과하면 에러 처리된다.
또한 strchange()함수의 search_str과 replace_str의 단어수를 포함하여
64개를 초과할 수 없다.
(5) 형식1)은 찾은 문자열을 바꿀 문자열로 변환하며 여러개의 단어를 찾아
바꾸고자 할 때 각각의 단어를 "|" 문자로 구분한다.
(6) 형식2)에서 separator는 단어 분리 문자이며 한문자가 아니면 에러 처리된다.
(7) 형식3)은 strchange_preset(NULL, NULL)과 같다.
(8) 형식1) 또는 형식2)에서 설정된 search_str과 replace_str은 이 함수를 실행
한 이후의 모든 strchange() 함수에 공통적으로 우선하여 적용되며, 형식3)
또는 형식4)에 의하여 해제하기 전까지 효력을 발생한다.
(9) strchange_preset() 함수로 설정된 단어의 개수가 result에 돌려진다.
4. 사용예
str= "aabbccddee"; // 대상 문자열
strchange_preset("a|b", "1|2"); // 'a'를 '1'로, 'b'를 '2'로 변환하도록 설정
// 아래 문장은 strchange_preset() 함수에 의하여 설정된 'a'와 'b'를 각각
// '1'과 '2'로 변환한 후에 'c'를 '3', 'd'를 '4'로 변환된다.
str2= strchange(str, "c|d", "3|4"); // 'c'를 '3', 'd'를 '4'로 변환
// 아래 문장은 'c'는 'Y'로 변환되지만 'a'는 사전에 설정된 '1'로 변환된다.
str3= strchange(str, "a|c", "X|Y");
strchange_preset(); // 사전에 설정된 'a'와 'b'의 변환을 해제한다.
str4= strchange(str, "d|e", "V|W"); // 'd'와 'e'만 각각 'V'와 'W'로 변환함
printf("str2=[%s] str3=[%s] str4=[%s]\n", str2, str3, str4);
------------------------------ [ 출력결과 ] ------------------------------
str2=[11223344ee] str3=[1122YYddee] str4=[aabbccVVWW]
|