Main Content

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,
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'

관련 항목