string형 인수 전달하기 예제
stringToUpper
함수
shrlibsample
라이브러리의 stringToUpper
함수는 입력 인수의 문자를 대문자로 변환합니다. 입력 파라미터 char *
는 문자열에 대한 C 포인터입니다.
EXPORTED_FUNCTION char* stringToUpper(char *input) { char *p = input; if (p != NULL) while (*p!=0) *p++ = toupper(*p); return input; }
stringToUpper
의 함수 시그니처는 다음 표에 나와 있습니다. MATLAB®은 C 포인터 유형(char *
)을 cstring
으로 매핑합니다. 따라서 MATLAB 문자형 배열을 함수에 전달할 수 있습니다.
반환 유형 | 이름 | 인수 |
---|---|---|
[cstring, | stringToUpper | (cstring) |
MATLAB 문자형 배열을 대문자로 변환하기
이 예제에서는 MATLAB 문자형 배열 str
을 C 함수 stringToUpper
에 전달하는 방법을 보여줍니다.
str = 'This was a Mixed Case string';
stringToUpper
함수가 포함된 라이브러리를 불러옵니다.
if not(libisloaded('shrlibsample')) addpath(fullfile(matlabroot,'extern','examples','shrlib')) loadlibrary('shrlibsample') end
이 함수에 str
을 전달합니다.
res = calllib('shrlibsample','stringToUpper',str)
res = 'THIS WAS A MIXED CASE STRING'
입력 파라미터는 char
형에 대한 포인터입니다. 그러나, MATLAB 문자형 배열은 포인터가 아니므로 stringToUpper
함수는 입력 인수 str
을 수정하지 않습니다.
str
str = 'This was a Mixed Case string'