컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post C언어에서 종료 함수는? 프로그램 중단시키는 방법; exit returnbzip2 디렉토리 압축하기 방법은? bz2 폴더 압축 풀기 명령어캐논 필카용 렌즈, 캐논 디카와 호환 여부; Canon EOS DSLR Lens숫자 무작위 생성; 윈도우 도스창에서; DOS 랜덤 Random디카로 찍은 사진을 아래한글, 아래아 한글에 붙이는 법; HWP JPG파일 다운로드 한꺼번에 받는 방법은? Download All1리터는 몇킬로그램인가요; 물 1 Liter 무게는 몇키로그램?음이온 선풍기 2년간 사용기; 삼성 SF-35R56 모델bz2 압축풀기, bzip2 압축하기; 리눅스 파일 압축리눅스 오늘 날짜 현재 시간 보기 스크립트; Linux Date Time Script

C언어에서 문자열에 null 문자 입력 방법; 널문자 출력

Monday, August 20, 2007

C에서 "null 문자"란 것은 16진수 아스키 코드 ASCII Code0x00, 십진수로는 0번 문자를 의미합니다. 그렇지만 아라비아 숫자 제로(0)는 아닙니다. null 문자는 눈에 보이지 않는 특수 문자입니다. C언어에서 null 은, "문자열의 끝"을 의미합니다. 그래서 문자열에서 널(null)문자 뒤에 있는 문자들은 문자열 출력에서 무시됩니다.

널문자는 '\0' 즉 '백슬래쉬+숫자 영'이라는 이스케이프 시퀀스로 표현합니다. 아래 예제에서 AAA 와 BBB 라는 단어 사이에 널문자가 하나 들어가 있습니다. 그래서 사실상 AAA 가 문자열의 끝입니다. 뒤의 BBB 는 무시됩니다. AAA만 출력됩니다.

어떤 문자열을 정의하면 그 문자열 맨 끝에 널문자가 1개 자동으로 붙습니다. 그래서 아래 예제에서는 실제로는 BBB 뒤에도 \0 이런 null 문자가 보이지 않게 붙어 있습니다.

null 문자 포함된 문자열 출력 예제
예제 소스 파일명: example.cpp
#include <stdio.h>

int main(void) {

  char str[] = "AAA\0BBB";

  printf("%s\n", str);
  // 출력 결과: AAA


// 위의 문자열을 널문자까지 강제로 출력해 보겠습니다.
  for (int i = 0; i < sizeof(str); i++) {
    printf("%c = 0x%02X\n", str[i], str[i]);
  }

/*

화면 출력 결과:
(0x00 이라는 글자들이 끼어 있습니다. 널문자들입니다.)

A = 0x41
A = 0x41
A = 0x41
  = 0x00
B = 0x42
B = 0x42
B = 0x42
  = 0x00

*/


  return 0;
}



0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top