본문 바로가기
프로그래밍언어/C언어[Error]

[C언어][Error] 097. invalid character in input – 입력에 잘못된 문자 포함

by about_IT 2025. 5. 10.
728x90

이 오류는 C 코드에 유효하지 않은 문자가 포함되어 있을 때 발생합니다. 예를 들어, 복사-붙여넣기를 통해 소스 코드에 보이지 않는 특수문자, 비 ASCII 문자, 또는 문법적으로 허용되지 않는 문자가 삽입되면 컴파일러가 이를 인식하지 못하고 오류를 발생시킵니다.


보통 다음과 같은 상황에서 이 오류가 자주 발생합니다:

  • 웹에서 복사한 코드에 유니코드 문자(‘ ’, “ ” 등)가 포함된 경우
  • 인코딩이 맞지 않아 특수문자가 깨지는 경우
  • 타 언어의 문자를 코드에 잘못 삽입한 경우


● 오류 예제

#include <stdio.h>

int main() {
    printf(“Hello”);  // 오류: 유효하지 않은 따옴표 문자 사용
    return 0;
}

컴파일 시 다음과 같은 오류 메시지가 출력될 수 있습니다.

error: invalid character in input


● 해결 방법

코드에 삽입된 비정상적인 문자를 모두 삭제하고, ASCII 기반의 올바른 문자로 수정해야 합니다. 아래는 수정된 예시입니다.

#include <stdio.h>

int main() {
    printf("Hello");  // 정상적인 큰따옴표 사용
    return 0;
}

출력 결과:

Hello


● 실전 팁

  • 복사한 코드에 유효하지 않은 문자가 섞여 있는지 항상 확인하세요.
  • 코드 에디터에서 ASCII 또는 UTF-8 인코딩을 사용하는 것이 좋습니다.
  • 눈에 보이지 않는 특수 문자는 코드 에디터의 "보이기" 기능을 통해 식별하세요.

C언어는 문자 단위로 엄격한 문법을 요구하기 때문에, 작은 오타나 잘못된 문자 하나로도 컴파일이 실패할 수 있습니다. 항상 코드의 문자 인코딩과 특수 문자를 확인하는 습관을 들이세요.

반응형