개념 :
_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, #문자가리는코드
'Programing - C > C Basic grammar ' 카테고리의 다른 글
072 _strlwr_s (0) | 2017.07.28 |
---|---|
071 _strupr_s (0) | 2017.07.28 |
069 _strset_s (0) | 2017.07.28 |
068 strpbrk (0) | 2017.07.28 |
067 strtok_s (0) | 2017.07.28 |