본문 바로가기
C │ C++ │ C#/C++

C++ Chapter 6.5 : C언어 스타일의 배열 문자열

by Pokaa 2023. 9. 3.
728x90
728x90
SMALL
C언어 스타일의 배열 문자열

 

  • char string[] = “Hello !”;
  • 문자열의 끝을 알 수 있도록  \0 가 끝에 붙어있다.
    ο 문자열이 6글자라도 sizeof 해보면 7이 나오는 이유.

 

 

문자열의 입력


std::cin

  • 공백 단위로 입력을 받기 때문에 공백 전까지만 받는다.
    ο 따라서 cin에 “hello, world!”를 입력하면 “hello,”까지만 문자 배열에 대입된다.
char myString[255];  // 254개의 문자(char)가 들어갈 수 있는 배열

cin >> myString; // Jack 입력

myString[0] = 'A';  // Aack 으로 바뀜

 

std::cin.getline

 cin.getline$($myString, 255$)$; 

  • 공백이 포함된 문자열을 받으려면  cin.getline 을 사용.
  • 두가지 매개변수가 필요하다.
    ο 문자열을 저장할 char 타입의 배열 이름
    ο 저장할 문자 최대 개수
  • 이 함수는 <iostream>에 있다.
    ο <string> 라이브러리에 비슷한 함수인  std::getline 도 있다.
        ■ <string>의  std::getline 은 좀 더 세밀하게 문자열을 입력 받는다.
           매개변수 4개까지도 받을 수 있음. 파일 입력 or 표준 입력 선택도 가능하고..

 

 

<cstring> 라이브러리에 있는 문자열 배열 조작 함수

 

  1. strcpy$($A, B$)$ : B문자열을 A문자 배열로 복사. A문자 배열의 크기가 모자를시 위험이 따른다.
  2. strcat$($A, B$)$ : B문자열 내용을 복사해 A문자 배열 뒤에 붙임
  3. strcmp$($A, B$)$ : 두 문자열이 같으면, 즉 배열의 원소들이 전부 같으면 0을 리턴한다.
                         크기 비교에 따라 -1, 1도 리턴.
728x90
300x250
LIST