C언어

유저찾기 번호노출 수정

joo_coding 2025. 4. 7. 11:29

 

가운데 번호는 별처리 해야하는데 깜빡함

 

// 번호
                    if (strlen(myfree[i].phone)==11)
                    {
                        printf("%d의 번호:", i+1);
                        for (int j = 0; j <= 2 ; j++)
                        {
                            printf("%c", myfree[i].phone[j]);
                        }
                        printf("-****-");
                        for (int j = 7; j <= 10 ; j++)
                        {
                            printf("%c", myfree[i].phone[j]);
                        }
                    }
            
                    else if (strlen(myfree[i].phone)==13)
                    {
                        printf("%d의 번호:", i+1);
                        for (int j = 0; j <= 2 ; j++)
                        {
                            printf("%c", myfree[i].phone[j]);
                        }
                        printf("-****-");
                        for (int j = 9; j <= 12 ; j++)
                        {
                            printf("%c", myfree[i].phone[j]);
                        }
                    }

 

회원가입 중 전화번호 입력 시 하이픈('-')을 입력받냐 안받냐의 차이도 있기 때문에

 

번호만 입력하면 01012345678 = 11자

하이픈도 입력하면 010-1234-5678 = 13자 니까

 

조건을 1. 길이 11, 2. 길이 13 < 2가지로 나눴다.

 

c언어에는 슬라이싱 기능이 없어서 strcpy나 함수를 만들어야하는데

공부가 좀 필요할거같아서 노가다 했다.

 

슬라이싱은 종종 쓸 일이 있을거같으니 공부해둬야할거같다.