junmoyo 2017. 7. 28. 02:13

개념 : 


_strset_s 과 같은 개념이다. 다른점은 표시할 구역을 정할수있다.



목표 : 


기존 _strset_s을 예제 소스를 _strnst_s으로 바꿔보자


소스코드 : main.c

#include <stdio.h>

#include <string.h>

#include <stdlib.h>


int main(void)

{

char *Password = "helloMozzi;


char szBuffer[256] = { 0, };

char szShow[256] = { 0, };

int character = '0';

int count = 0;

int Run = 1;

while (Run)

{

printf("password :%s", szShow);

character = getch();// 문자 입력 받고


if (character == 8) // backspace

{

if (count > 0)

{

count--;

szBuffer[count] = '\0';

}

}

else

{

if (character != 13)

szBuffer[count] = character;

}


if (count < 256)

{

szBuffer[count + 1] = '\0';

}

else

{

count = -1;

}





if (character == 13)// 엔터인지 검사하고

{

if (strcmp(szBuffer, Password) == 0)

{

puts("\nmatch password");

Run = 0;

}

else

{

memset(szBuffer, 0, sizeof(szBuffer));

}

count = -1;

}


system("cls");

memcpy(szShow, szBuffer, sizeof(szShow));


//< 이구간을 좀 변형 ㅎ

if (count > 0)

_strnset_s(szShow, sizeof(szShow), '*', count);


if (character == 8)

{


}

else

{

if (count >= 0)

szShow[count] = character;


++count;

}


}


return 0;

}



결과



#c언어, #c언어입문, #프로그램입문, #_strnset_s, #문자가리는코드