sprintf 함수는 문자내용을 특정한 문자열에 저장한다.
void @sprintf(string buf, string format, ...);
함수인자
string buf : 변환된 문자를 반환할 문자열 공간
string format : 변환할 포맷 형식
반환 값
없음
예제1
@sprintf(buf,"ID=%d", $AddrNum);
문장설명 : 따옴표(") 내의 문자열과 뒤쪽 인자값을 buf 배열에 넣는다.
문자열 속에 포함되는 인자값의 종류는 다음과 같다.
%d -
%u - unsigned
%l -
%lu -
%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의 문자열 태그에 “안녕하세요”라는 문자열을 저장한다.