c문법,  C를 최신언어로 마이그 하면서 자주 보게되는 것 중 하나  strcmp/strncmp



c coding >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


/*

 * test.c

 *

 *  Created on: 2018. 11. 17.

 *      Author: DIFY

 */


#include <stdio.h>

#include <string.h>

#define _CRT_SECURE_NO_WARNINGS


int main()

{

int iresult = 0;

char sResult[30];

char * sSample1 = "ABCDA";

char * sSample2 = "ABCD";

char * sSample3 = "ABCDA";


char * iSample1 = "12345";

char * iSample2 = "1234";

char * iSample3 = "12345";


   /*char*************************************************************/

iresult = strcmp( sSample1, sSample2 );

sprintf(sResult, "%d", iresult);    // %d정수를 문자열로 set

printf("[sSample1:%s,sSample2:%s]=>결과값(sSample1>sSample2) : %s\n", sSample1, sSample2, sResult);


iresult = strcmp( sSample2, sSample1 );

sprintf(sResult, "%d", iresult);

printf("[sSample1:%s,sSample2:%s]=>결과값(sSample1<sSample2) : %s\n", sSample1, sSample2,sResult);


iresult = strcmp( sSample1, sSample3 );

sprintf(sResult, "%d", iresult);

printf("[sSample1:%s,sSample3:%s]=>결과값(sSample1=sSample3) : %s\n", sSample1, sSample3,sResult);


iresult = strncmp( sSample1, sSample2,4 );

sprintf(sResult, "%d", iresult);

printf("[sSample1:%s,sSample2:%s]=>결과값(sSample1,sSample2 4자리까지비교) : %s\n",sSample1, sSample2, sResult);


iresult = strncmp( sSample1, sSample2,5 );

sprintf(sResult, "%d", iresult);

printf("[sSample1:%s,sSample2:%s]=>결과값(sSample1,sSample2 5자리까지비교(ASCII 코드값)) : %s\n", sSample1, sSample2,sResult);



iresult = strncmp( sSample2, sSample1,5 );

sprintf(sResult, "%d", iresult);

printf("[sSample2:%s,sSample1:%s]=>결과값(sSample2,sSample1 5자리까지비교(ASCII 코드값)) : %s\n", sSample2, sSample1,sResult);



/*int*************************************************************/

iresult = strcmp( iSample1, iSample2 );

sprintf(sResult, "%d", iresult);

printf("[iSample1:%s,iSample2:%s]=>결과값(iSample1>iSample2) : %s\n", iSample1, iSample2, sResult);


iresult = strcmp( iSample2, iSample1 );

sprintf(sResult, "%d", iresult);

printf("[iSample1:%s,iSample2:%s]=>결과값(iSample1<iSample2) : %s\n", iSample1, iSample2,sResult);


iresult = strcmp( iSample1, iSample3 );

sprintf(sResult, "%d", iresult);

printf("[iSample1:%s,iSample3:%s]=>결과값(iSample1=iSample3) : %s\n", iSample1, iSample3,sResult);


iresult = strncmp( iSample1, iSample2,4 );

sprintf(sResult, "%d", iresult);

printf("[iSample1:%s,iSample2:%s]=>결과값(iSample1,iSample2 4자리까지비교) : %s\n",iSample1, iSample2, sResult);


iresult = strncmp( iSample1, iSample2,5 );

sprintf(sResult, "%d", iresult);

printf("[iSample1:%s,iSample2:%s]=>결과값(iSample1,iSample2 5자리까지비교(ASCII 코드값)) : %s\n", iSample1, iSample2,sResult);



iresult = strncmp( iSample2, iSample1,5 );

sprintf(sResult, "%d", iresult);

printf("[iSample2:%s,iSample1:%s]=>결과값(iSample2,iSample1 5자리까지비교(ASCII 코드값)) : %s\n", iSample2, iSample1,sResult);



return 0;


}


 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

console 결과값

[sSample1:ABCDA,sSample2:ABCD]=>결과값(sSample1>sSample2) : 1

[sSample1:ABCDA,sSample2:ABCD]=>결과값(sSample1<sSample2) : -1

[sSample1:ABCDA,sSample3:ABCDA]=>결과값(sSample1=sSample3) : 0

[sSample1:ABCDA,sSample2:ABCD]=>결과값(sSample1,sSample2 4자리까지비교) : 0

[sSample1:ABCDA,sSample2:ABCD]=>결과값(sSample1,sSample2 5자리까지비교(ASCII 코드값)) : 65

[sSample2:ABCD,sSample1:ABCDA]=>결과값(sSample2,sSample1 5자리까지비교(ASCII 코드값)) : -65

[iSample1:12345,iSample2:1234]=>결과값(iSample1>iSample2) : 1

[iSample1:12345,iSample2:1234]=>결과값(iSample1<iSample2) : -1

[iSample1:12345,iSample3:12345]=>결과값(iSample1=iSample3) : 0

[iSample1:12345,iSample2:1234]=>결과값(iSample1,iSample2 4자리까지비교) : 0

[iSample1:12345,iSample2:1234]=>결과값(iSample1,iSample2 5자리까지비교(ASCII 코드값)) : 53

[iSample2:1234,iSample1:12345]=>결과값(iSample2,iSample1 5자리까지비교(ASCII 코드값)) : -53




서식
문자
출력 형태
c 문자
d or i 부호 있는 십진법으로 나타난 정수
e 지수 표기법(Scientific notation) 으로 출력하되, e 문자를 이용한다.
E 지수 표기법(Scientific notation) 으로 출력하되, E 문자를 이용한다.
f 십진법으로 나타낸 부동 소수점 수
g %e나 %f 보다 간략하게 출력
G %E나 %f 보다 간략하게 출력
o 부호 있는 팔진수
s 문자열
u 부호없는 십진법으로 나타낸 정수
x 부호없는 16 진법으로 나타낸 정수 (소문자 사용)
X 부호없는 16 진법으로 나타낸 정수 (대문자 사용)
p 포인터 주소
n 아무것도 출력하지 않는다. 그 대신, 인자로 부호 있는 int 형을 가리키는 포인터를 전달해야 되는데, 여기에 현재까지 쓰여진 문자 수가 저장된다.
(참고, eclipse에서 c 사용하기, http://blog.moramcnt.com/?p=1272 )


+ Recent posts