아하
생활

생활꿀팁

지적인웜뱃3
지적인웜뱃3

[질문] if문으로 한글과 공백 구분하는 법

#define _CRT_SECURE_NO_WARNINGS
#include &ltstdio.h>
#include &ltstring.h>
#include &ltWindows.h>


int main()
{
int temp, temp2;
char str[50] = { 0 };
int len = 0;
int vel = 0;

printf("출력할 텍스트를 입력해주세요 : ");
gets_s(str, sizeof(str)); //공백 문자를 포함한 문장 전체를 저장

printf("속도를 설정해주세요(정수값만 사용) : ");
scanf("%d", &vel);

len = strlen(str); //변수len의 값을 str문자열의 길이에 값으로 치환한다.

while (1)
{
system("cls"); //콘솔창에 있는 코드를 지우는 함수이다.

printf("%s", str);

printf("\n\n현재속도 : %d초", vel);
printf("\n종료 : Ctrl + C");

if () //영어
{
char temp = str[0]; //문자열의 첫단어를 temp변수에 저장한다.

for (int i = 1; i < len; i++) //두번째 문자부터 마지막 문자까지 반복한다.
{
str[i - 1] = str[i]; //문자열의 모든 문자를 한칸씩 이동한다.
}
str[len - 1] = temp; //보관했던 문자를 맨뒤에 나열한다.
}
else //한글
{
char temp = str[0]; //한글은 2바이트이기 때문에 2바이트인 한글자를 저장한다.
char temp2 = str[1];

for (int i = 2; i < len - 1; i++) //두번째 문자부터 마지막 문자까지 반복한다.
{
str[i - 2] = str[i]; //문자열의 모든 문자를 한칸씩 이동한다.
str[i - 1] = str[i + 1];
}
str[len - 2] = temp; //보관했던 문자를 맨뒤에 나열한다.
str[len - 1] = temp2;
}

Sleep(vel * 1000); //프로그램을 잠시 멈추는 함수이다.(1000초는 1초를 의미한다.)
}

return 0;
}

if문으로 한글과 공백을 구분할 수 있을까요? 저는 누구누구 입니다 를 입력하면 저는 까지 잘나오는데 공백을 구분못해서 문자가 깨집니다... 어떻게 해결해야하나요..?


    2개의 답변이 있어요!