printf sprintf 를 이용한 포맷에 따른 스트링 만들기

 

두 함수의 차이 - printf 는 결과를 화면에 출력하고 sprinf 는 결과를 문자열로 반환한다.

 

형식

%[‘padding-character][-][width][.precision]type

 

형식 지정

type

의미

b

정수(integer)로 해석되며 이진수로 출력한다.

c

정수로 해석되며 캐릭터(문자 하나)로 출력한다.

d

정수로 해석되며 십진법의 숫자로 출력한다.

f

double로 해석되며 실수로 출력한다.

o

정수로 해석되며 8진수로 출력한다.

x

정수로 해석되며 소문자 알파벳a-f를 포함한 16진수로 출력한다.

X

정수로 해석되며 대문자 알파벳A-F를 포함한 16진수로 출력한다.

s

문자열로 해석되며 문자열을 출력한다.

** 강조는 많이 사용하는 형식

 

기본적인 사용 예

 

정수

printf(“int = %d”, 10);

결과

int = 10

 

실수

printf(“float = %f”, 2.33);

결과

float = 2.330000   (소수점은 6자리까지 표현된다.)

 

문자열

printf(“str = %s”, “Kim Soo Young");

결과

str = Kim Soo Young

 


패딩 지정어를 사용한 출력

 

패딩 지정어란 자릿수를 맞추기 위해 출력될 값 앞에 특정 문자을 삽입하는 것을 말한다.

)

printf(“visit %d”, 201);

결과

visit 201

 

0 으로 다섯자리 까지 패딩할 경우

printf(“visit %05d”, 201);

결과

visit 00201

 

공백으로 패딩할 경우

printf(“visit % 5d”, 201);

결과

visit   201

 

 

패딩은 하나의 문자로만 구성되며(여러개도 되나?) 0 이나 공백이외 다른 문자(숫자를 포함한)를 이용할 때는 패딩 문자 앞에 을 붙인다.

 

1로 패딩할 경우

prifnt(“visit %’15d”, 201);

결과

visit 11201

 


실수의 정밀도 지정하기

실수의 소수점 이하의 수의 정밀도를 지정하는 방법으로 이는 지정어가 f일 경우에만 이용할 수 있다.

 

소수를 5자리 까지 표현하기

printf(“FLOAT %.5f”, 1.23422422454344);

결과

FLOAT 1.23422

 


너비 지정

출력될 너비를 지정하는 경우에 사용하며 기본적으로 오른쪽 정렬을 기준으로 한다. 왼쪽정렬을 할 경우 지정될 숫자 앞에 를 붙인다.

오른쪽 정렬일 경우 지정된 너비가 결과값 길이보다 짧을 경우 무시된다.

 

) 너비가 정확하게 표현될 수 있도록 <pre> 태그를 이용한다.

 

echo "<pre>";

printf("%20s\n", "Kim Soo Young");

printf("%-20s%s\n", "Kim Soo Young","end");

printf("%-20s%20d\n", "Kim Soo Young", 99);

echo "</pre>";

 

결과

Kim Soo Young

Kim Soo Young       end

Kim Soo Young                         99

 

첫번째 줄은 처음부터 20칸 떨이진 부분부터 출력된다.

두번째 줄은 문자열이 출력된 후 20칸이 더 출력 된다.

세번째 줄은 문자열이 출력된 후 20칸뒤 부터 추가로 20칸 더 떨어진 부분에 숫자가 출력된다.

Posted by 셩 애닉스
/etc/mail/sendmail.mc

다음 두줄 주석 제거
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

수정
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') ->
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')

다음 명령어 실행
 # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


/etc/mail/local-host-names 에 호스트 추가

Posted by 셩 애닉스

예) $_POST['name'] 와 $_POST['address'] 가 정의 되지 않았을 경우 prev.html 페이지로 로케이션 시킬 경우

if ((!isset($_POST['name'])) || (!isset($_POST['address']))) {
     header("Location: prev.html");
     exit;
}

Posted by 셩 애닉스