sprintf

 

sprintf 함수는 문자내용을 특정한 문자열에 저장한다.

 

void @sprintf(string buf, string format, ...);

 

함수인자

string buf : 변환된 문자를 반환할 문자열 공간

string format : 변환할 포맷 형식

 

반환 값

없음

 

예제1

@sprintf(buf,"ID=%d", $AddrNum);

문장설명 : 따옴표(") 내의 문자열과 뒤쪽 인자값을  buf 배열에 넣는다.

 

문자열 속에 포함되는 인자값의 종류는 다음과 같다.

%d - 정 수형 (-32768 ~ 32767 : int)

%u - unsigned 정수형 (0 ~ 65535 : WORD)

%l - 정수형 (DWORD 음수 포함)

%lu - 정수형 (DWORD 양수만)

%f - 실수형 (소수점 포함한 숫자)

%x - unsigned 16진수 (a, b, c, d, e, f : 소문자)

%X - unsigned 16진수 (A, B, C, D, E, F : 대문자)

%e - 지수형

%c - 문자형

%s - 문자열 (배열)

 

예제2 (SQL연결문을 사용할 경우)

 

id = @SQLConnect("ODBCDNSName","","");

@sprintf( wherebuf, "ID = %d", $AddrNum);

SQLSelect(id,"Table1","BindList",where,"");

@SQLDisconnect(id);

 

// 참고 SQLConnect(), SQLSelect(), SQLDisconnect()

 

예제3 (태그 이름을 가져올 경우)

@sprintf( tagbuf,"AI_00%02d", 7 );

// tagbuf에는 AI_0007의 아날로그 입력태그의 이름이 저장된다.

Value = @GetTagValue(tagbuf);

// Value에는 AI_0007의 아날로그 입력 값이 저장된다.

 

@sprintf( tagbuf,"ST_00%02d", 12 );

//tagbuf에는 ST_0012의 문자열 태그의 이름이 저장된다.

@SetTagValue(tagbuf,"안녕하세요");

//ST_0012의 문자열 태그에 “안녕하세요”라는 문자열을 저장한다.