Mokwon Univ
문자열 입력받기
용학도리
2008. 8. 16. 16:52
문자열을 size만큼 입력 받아옴
1. 첫번째 인자는 입력받을 배열이름을 인자로 두고 두번째 인자는 원하는 크기
2. fgets()로 받아올때 나오는 개행문자('n') 를 NULL('') 로 교체해줌
3. 입력없이 Enter만 눌렀거나 Space(공백) 만 누를 경우 다시 입력
4. 공백제거
void input_string(char* temp, int size)
{
int len = 0, i = 0, j = 0;
char imsi[MAX_BUF_SIZE]={0};
do
{
system("CLS");
j = 0;
printf(" 입력 : ");
fflush(stdin); // stdin 버퍼 비우기
fgets(imsi, MAX_BUF_SIZE, stdin); // 입력
len = strlen(imsi);
// 공백을 제거하기 위한 루틴
for( i = 0 ; i < len ; i++ )
{
// 공백이 아닐 경우에만 저장 하고 j++
if(imsi[i] != ' ' && imsi[i] != 'n')
{
temp[j] = imsi[i];
j++;
}
// NULL값을 넣어주기 위해 매개변수 size 보다 한개 작을때 break
if( j == size - 1 )
{
break;
}
}
temp[j] = ''; // NULL('') 을 넣어줌
}
while( strlen(temp) == 0 ); // 입력이 없을 경우 다시 입력 받음
}
{
int len = 0, i = 0, j = 0;
char imsi[MAX_BUF_SIZE]={0};
do
{
system("CLS");
j = 0;
printf(" 입력 : ");
fflush(stdin); // stdin 버퍼 비우기
fgets(imsi, MAX_BUF_SIZE, stdin); // 입력
len = strlen(imsi);
// 공백을 제거하기 위한 루틴
for( i = 0 ; i < len ; i++ )
{
// 공백이 아닐 경우에만 저장 하고 j++
if(imsi[i] != ' ' && imsi[i] != 'n')
{
temp[j] = imsi[i];
j++;
}
// NULL값을 넣어주기 위해 매개변수 size 보다 한개 작을때 break
if( j == size - 1 )
{
break;
}
}
temp[j] = ''; // NULL('') 을 넣어줌
}
while( strlen(temp) == 0 ); // 입력이 없을 경우 다시 입력 받음
}