소개
본 장에서는 ProFrame의 API를 간략히 소개하고 실제로 API를 사용하기 앞서 필요한 준비 작업에 대해 설명한다.
1. 개요
ProFrame의 API는 처리하는 데이터 형태에 따라 다음과 같이 6개의 유틸리티로 나누어진다.
-
Date 유틸리티
문자열 혹은 숫자형으로 표현된 날짜나 시간의 데이터를 처리하는 유틸리티이다. 이 유틸리티는 날짜 및 시간 정보를 가져오는 API 또는 이것을 계산, 비교, 변환 등을 처리하는 API 들로 구성된다.
-
Number 유틸리티
C언어의 기본 수치 자료형은 유효 자릿수가 너무 작거나 정밀도에 문제가 있다. 이와 같은 한계를 극복하기 위해 ProFrame는 38자리의 유효자릿수와 이 범위 안에서의 높은 정밀도를 보장하는 자료형을 제공한다. 이 자료형은 PfmNumber이며, 다음과 같은 구조를 가진다.
typedef struct { unsigned char size; unsigned char signexp; unsigned char coef[NUMBER_MAX_LEN]; } PfmNumber;PfmNumber형은 다른 말로 Number형이라고도 한다. 이 유틸리티는 Number형 변수에 대한 여러 가지 계산, 비교, 변환 등을 처리하는 API들로 구성된다.
-
String 유틸리티
문자열의 변환, 비교 등을 처리하는 API들로 구성된다.
-
Long 유틸리티
Long형 값에 대한 반올림, 올림, 내림을 처리하는 API들로 구성된다.
-
에러 처리 및 디버그 유틸리티
에러 처리 및 디버깅과 관련된 API들로 구성된다.
-
기타 유틸리티
앞에서 언급된 유틸리티 외의 기타 API들로 구성된다.
ProFrame를 이용하여 서비스 또는 업무 모듈을 개발할 때 처리할 데이터에 맞게 위와 같은 유틸리티를 이용한다. 각 유틸리티에 대한 자세한 내용은 Date 유틸리티에서 설명한다.
다음 절에서는 실제 API를 사용하기에 앞서 필요한 작업에 대해 기술한다.
2. 헤더 파일 include
각 유틸리티와 관련된 API를 사용하기 위해서는 다음과 같은 헤더 파일을 소스 내부에 include해야 한다.
#include <pfmUtility.h>
Date, Number, 에러 처리 및 디버그 유틸리티를 사용하기 위해서는 다음의 헤더 파일을 소스 내부에 include해야 한다.
| 유틸리티 | 헤더 파일 |
|---|---|
Date |
#include <pfmDateUtilily.h> |
Number |
#include <pfmNumber.h> |
에러처리 및 디버그 |
#include <pfmLogMacro.h> |
3. API 목록
본 절에서는 ProFrame가 제공하는 API을 유틸리티 별로 간략히 설명한다.
3.1. Date 유틸리티
다음은 날짜 또는 시간 처리와 관련된 API 목록이다.
| API | 헤더 파일 |
|---|---|
날짜의 정합성을 체크한다. |
|
시간의 정합성을 체크한다. |
|
날짜 포맷 정합성을 체크한다. |
|
두 날짜의 선후를 비교한다. |
|
yyyymmdd 형태로 현재 시스템의 날짜 정보를 가져온다. |
|
hhmmss 형태로 현재 시스템의 시간 정보를 가져온다. |
|
hhmmssuuuuuu 형태로 현재 시간 정보를 가져온다. |
|
hhmmssnnnnnnnnn 형태로 현재 시간 정보를 가져온다. |
|
날짜와 시간 정보를 yyyymmddhhmmss 형태로 한꺼번에 가져온다. |
|
날짜와 시간 정보를 yyyymmddhhmmssuuuuuu 형태로 한꺼번에 가져온다. |
|
날짜와 시간 정보를 yyyymmddhhmmssnnnnnnnnn 형태로 한꺼번에 가져온다. |
|
입력 받은 해의 2월 일수를 반환한다. |
|
입력 받은 해가 윤년인지를 체크한다. |
|
입력 받은 날짜의 요일을 숫자 정보로 반환한다. |
|
N번째 주 특정 요일을 날짜로 변환한다. |
|
날짜를 원하는 포맷으로 변환한다. |
|
율리우스 날짜를 그레고리언 날짜로 변환한다. |
|
그레고리언 날짜를 율리우스 날짜로 변환한다. |
|
양력 날짜를 음력 날짜로 변환한다. |
|
음력 날짜를 양력 날짜로 변환한다. |
|
시작일과 종료일 사이의 일수, 월수를 계산한다. |
|
시작일을 입력한 경우 종료일을 종료일을 입력한 경우 시작일을 계산한다. |
|
입력 날짜의 분기, 분기 시작일, 분기 종료일 계산한다. |
|
Date 유틸리티를 사용하는 중에 에러가 발생하였을 때 해당 에러 메시지를 보여준다. |
3.2. Number 유틸리티
다음은 숫자 처리와 관련된 API 목록이다.
| API | 헤더 파일 |
|---|---|
PfmNumber형 파라미터를 다른 PfmNumber형 파라미터에 대입한다. |
|
PfmNumber형을 Long형으로 변환한다. |
|
Long형을 PfmNumber형으로 변환한다. |
|
PfmNumber형을 Double형으로 변환한다. |
|
Double형을 PfmNumber형으로 변환한다. |
|
Double형을 반올림하여, PfmNumber형으로 변환한다. |
|
NULL 종료 무자열로 표현된 값을 PfmNumber형으로 변환한다. |
|
특정 길이 문자열을 PfmNumber형으로 변환한다. |
|
PfmNumber형을 Char형 문자열로 변환한 후 오른쪽 정렬하여 앞 부분을 0으로 채운다. |
|
PfmNumber형을 Char형 문자열로 변환한다. |
|
PfmNumber형을 특정 길이 문자열로 변환한다. |
|
두 PfmNumber형의 값을 비교한다. |
|
두 PfmNumber형의 절댓값을 비교한다. |
|
입력 받은 값이 정수인지 체크한다. |
|
PfmNumber형 파라미터와 Long형 파라미터의 값을 비교한다. |
|
PfmNumber형 파라미터와 Char형 문자열을 숫자로 변환하여 두 수의 크기를 비교한다. |
|
PfmNumber형 파라미터와 특정 길이의 문자열을 숫자로 변환하여 두 수의 크기를 비교한다. |
|
PfmNumber형 파라미터를 음수 처리한다. |
|
PfmNumber형 파라미터를 절댓값 처리한다. |
|
두 PfmNumber형 파라미터를 덧셈 처리한다. |
|
두 PfmNumber형 파라미터를 뺄셈 처리한다. |
|
두 PfmNumber형 파라미터를 곱셈 처리한다. |
|
두 PfmNumber형 파라미터를 나눗셈 처리한다. |
|
두 PfmNumber형 파라미터를 나눗셈 처리한 후 결과 값을 정수화한다. |
|
두 PfmNumber형 파라미터를 나눗셈 처리한 후 나머지를 반환한다. |
|
두 PfmNumber형 파라미터를 나눗셈 처리한 후 몫과 나머지를 반환한다. |
|
입력 값의 특정 위치 이후 숫자를 버림 처리한다. |
|
소수점 이하의 특정 위치를 반올림한다. |
|
소수점 이하를 버림 처리한다. |
|
소수점 이하를 반올림 처리한다. |
|
입력 값을 제곱 처리한다. |
|
입력 받은 x, y 파라미터를 이용하여 xy 처리한다. |
|
두 입력 값을 덧셈 처리하여 한 파라미터에 결과 값을 출력한다. |
|
두 입력 값을 뺄셈 처리하여 한 파라미터에 결과 값을 출력한다. |
|
문자열을 숫자로 변환하여 다른 입력 값과 덧셈처리한다. |
|
문자열을 숫자로 변환하여 다른 입력 값과 뺄셈처리한다. |
|
문자열을 숫자로 변환하여 다른 입력 값과 곱셈처리한다. |
|
문자열을 숫자로 변환하여 다른 입력 값과 나눗셈 처리한다. |
|
특정 길이 문자열을 숫자로 변환하여 다른 입력 값과 덧셈 처리한다. |
|
특정 길이 문자열을 숫자로 변환하여 다른 입력 값과 뺄셈 처리한다. |
|
특정 길이 문자열을 숫자로 변환하여 다른 입력 값과 곱셈 처리한다. |
|
특정 길이 문자열을 숫자로 변환하여 다른 입력 값과 나눗셈 처리한다. |
|
PfmNumber형 입력 값과 Long형 입력 값을 덧셈 처리한다. |
|
PfmNumber형 입력 값과 Long형 입력 값을 뺄셈 처리한다. |
|
PfmNumber형 입력 값과 Long형 입력 값을 곱셈 처리한다. |
|
PfmNumber형 입력 값과 Long형 입력 값을 나눗셈 처리한 후 결과 값을 Long형으로 반환한다. |
|
PfmNumber형 입력 값과 Long형 입력 값을 나눗셈 처리한 후 몫과 나머지를 반환한다. |
|
입력된 값을 N번 덧셈 처리한다. |
|
입력된 값을 N번 곱셈 처리한다. |
|
입력 받은 x, y로 xy 처리한다. |
|
입력된 값의 특정 소수점 자리를 반올림 처리한다. |
|
입력된 값의 특정 소수점 자리를 올림 처리한다. |
|
사칙연산의 계산 결과를 PfmNumber형으로 출력한다. |
|
사칙연산의 계산 결과를 Long형으로 출력한다. |
|
PfmNumber형의 숫자 데이터를 콤마(,)가 포함된 문자열로 변환한다. |
|
PfmNumber형의 숫자 데이터를 특정 포맷의 문자열로 변환한다. |
|
PfmNumber형의 입력 값을 메시지용 임시 문자열로 변환한다. |
|
PfmNumber형의 입력 값을 메시지용 임시 문자열로 변환한 후 천단위 구분자를 표시하여 반환한다. |
|
입력 값의 소수점 자리수를 반환한다. |
|
PfmNumber형의 입력 값을 Hex 문자열로 변환한다. |
|
Number 유틸리티를 사용하는 중 에러가 발생한 경우 해당 에러 메시지를 출력한다. |
3.3. String 유틸리티
다음은 문자열 처리와 관련된 API 목록이다.
| API | 헤더 파일 |
|---|---|
NULL 종료 문자열의 모든 문자가 소문자인지를 체크한다. |
|
길이 문자열의 모든 문자가 소문자인지를 체크한다. |
|
NULL 종료 문자열의 모든 문자가 대문자인지를 체크한다. |
|
길이 문자열의 모든 문자가 대문자인지를 체크한다. |
|
NULL 종료 문자열의 모든 문자가 알파벳인지를 체크한다. |
|
길이 문자열의 모든 문자가 알파벳인지를 체크한다. |
|
NULL 종료 문자열의 모든 문자가 알파벳 또는 숫자인지를 체크한다. |
|
길이 문자열의 모든 문자가 알파벳 또는 숫자인지를 체크한다. |
|
문자열의 첫 번째 문자가 NULL(‘\0’)인지를 체크한다. |
|
N개의 연속된 문자가 모두 NULL(‘\0’)인지를 체크한다. |
|
NULL 종료 문자열의 모든 문자가 숫자인지를 체크한다. |
|
길이 문자열의 모든 문자가 숫자인지를 체크한다. |
|
NULL 종료 문자열의 모든 문자가 공백으로 처리되어 있는지를 체크한다. |
|
길이 문자열의 모든 문자가 공백으로 처리되어 있는지를 체크한다. |
|
NULL 종료 문자열의 모든 문자가 공백으로 처리되어 있는지 또는 첫 번째 문자가 NULL인지를 체크한다. |
|
길이 문자열의 모든 문자가 공백으로 처리되어 있는지 또는 첫 번째 문자가 NULL인지를 체크한다. |
|
NULL 종료 문자열의 모든 문자가 0인지를 체크한다. |
|
길이 문자열의 모든 문자가 0인지를 체크한다. |
|
주어진 문자열의 주민등록번호나 사업자등록번호의 유효성을 체크한다. |
|
NULL 종료 문자열의 모든 문자가 한글인지를 체크한다. |
|
길이 문자열의 모든 문자가 한글인지를 체크한다. |
|
입력된 문자열에 한글이 한자라도 포함되어 있는지를 체크한다. |
|
NULL 종료 문자열의 왼쪽 공백을 제거한다. |
|
길이 문자열의 왼쪽 공백을 제거한다. |
|
NULL 종료 문자열의 오른쪽 공백을 제거한다. |
|
길이 문자열의 오른쪽 공백을 제거한다. |
|
NULL 종료 문자열의 좌우 공백을 제거한다. |
|
길이 문자열의 좌우 공백을 제거한다. |
|
NULL 종료 문자열의 space(0x20)를 제거한다. |
|
길이 문자열의 space(0x20)를 제거한다. |
|
두 문자열의 왼쪽 공백을 제거한 후 결과를 비교한다. |
|
두 문자열의 오른쪽 공백을 제거한 후 결과를 비교한다. |
|
두 문자열의 좌우 공백을 제거한 후 결과를 비교한다. |
|
두 문자열의 space(0x20)를 제거한 후 결과를 비교한다. |
|
원하는 길이만큼 문자열을 복사하고 끝에 남는 부분은 space(0x20)로 채운다. |
|
원하는 길이만큼 문자열을 복사한 후 오른쪽 정렬하고 앞에 남는 부분은 0으로 채운다. |
|
원본 문자열에서 특정 문자를 제거한 후 다른 문자열로 복사한다. |
|
NULL 종료 문자열에서 정수만 추출하여 정수형 문자열을 반환한다. |
|
입력된 여러 문자열이 기준 문자열과 같은지 비교한다. |
|
N개의 NULL 종료 문자열 중 일치하는 문자열을 검색하여 일치 문자열의 위치를 알려준다. |
|
입력된 NULL 종료 문자열을 소문자로 변환한다. |
|
입력된 길이 문자열을 소문자로 변환한다. |
|
입력된 NULL 종료 문자열을 대문자로 변환한다. |
|
입력된 길이 문자열을 대문자로 변환한다. |
|
정수 문자열을 Int형으로 변환한다. |
|
정수 문자열을 Long형으로 변환한다. |
|
NULL 종료 문자열을 Long형으로 변환한다. |
|
길이 문자열을 Long형으로 변환한다. |
|
Long형 숫자를 문자열로 변환한다. |
|
Long형 숫자를 문자열로 변환한 후 오른쪽 정렬하여 공백을 0으로 채운다. |
|
정수 문자열에 Long형 정수를 더한 후 문자열로 변환한다. |
|
정수 문자열에서 Long형 정수를 뺀 후 문자열로 변환한다. |
|
NULL 종료 문자열을 hexadecimal 형태로 변환한다. |
|
ASCII 문자열을 EBCDIC형으로 변환한다. |
|
EBCDIC 문자열을 ASCII형으로 변환한다. |
|
영문 대응 코드를 KSC5601형으로 변환한다. |
|
KSC5601 문자열을 영문 대응 코드로 변환한다. |
|
KSC5601 문자열을 IBM 2Bytes 조합형 코드로 변환한다. |
|
IBM 2Bytes 조합형 코드를 KSC5601 문자열로 변환한다. |
|
KS 2Bytes 완성형 한글 문자열을 IBM SOSI 한글 코드로 변환한다. |
|
IBM SOSI 한글 코드를 KS 2Bytes 완성형 한글 문자열로 변환한다. |
|
한글 문자열을 영문 문자열로 변환한다. |
|
KSC5601 한글 문자열에서 space를 제거한다. |
|
KSC5601 문자열을 KSC5601 2Bytes형으로 변환한다. |
|
KSC5601 2Bytes 문자열을 KSC5601형으로 변환한다. |
|
문자열을 입력된 방식으로 변환한다. |
|
문자열을 입력된 방식으로 변환한 후 변환 결과를 다른 문자열로 복사한다. |
|
입력 문자열에서 깨진 한글 코드를 제거한다. |
|
입력 문자열에서 한글 코드가 깨지기 시작한 위치를 알려준다. |
|
문자 구분 값에 깨진 문자는 삭제하고 한글, 전각문자를 표시한다. (pfmStrRemoveBrokenKorean를 보완한 API) |
|
문자열 앞 또는 뒤의 공백이나 KSC5601 SPACE를 제거한다. |
|
String 유틸리티 사용하는 중 에러가 발생할 경우 해당 에러 메시지를 보여준다. |
3.4. Long 유틸리티
다음은 Long형의 데이터 처리와 관련된 API 목록이다.
| API | 헤더 파일 |
|---|---|
입력 값을 소수점 pos 자리까지 반올림한다. |
|
입력 값을 소수점 pos 자리까지 올림 처리한다. |
|
입력 값을 소수점 pos 자리까지 버림 처리한다. |