std::cin.getline()과 std::cin의 차이점 이해
C에서 입력 및 출력 작업을 할 때, std::cin.getline()과 std::cin 사이의 미묘한 차이를 이해하는 것이 중요합니다. 둘 다 표준 입력 개체 std::cin에 속하지만 서로 다른 목적을 제공하고 입력을 다르게 처리합니다.
std::cin.getline()
자세히 살펴보겠습니다. 표준::cin.getline(). std:: 네임스페이스에는 표준 라이브러리의 광범위한 유형, 함수 및 객체 컬렉션이 들어 있습니다. std::cin은 표준 문자 입력을 나타내는 객체 중 하나입니다. 표준 입력에서 문자를 추출하는 메소드와 함수를 제공합니다.
std::cin.getline()은 왼쪽 객체(여기서는 std)에서 한 줄의 문자를 검색하는 std::cin의 메소드입니다. ::cin). 개행 문자(n)를 만나거나 지정된 최대 문자 수에 도달하거나 입력이 부족할 때까지 문자를 계속 읽습니다.
std::cin 대 std::cin.getline( )
std::cin과 std::cin.getline()의 주요 차이점은 공백과 줄 바꿈을 처리하는 방법에 있습니다. 문자:
사용 예
문자열과 입력 작업을 수행할 때 이러한 차이점을 이해하는 것이 중요합니다. 공백이나 줄바꿈을 포함하세요. 예를 들면 다음과 같습니다.
string name; int age; // Read a single word from std::cin std::cin >> name; // Suppose John // Read the next line of input std::string line; std::getline(std::cin, line); // Suppose "is 25 years old" // Extract the age from the line age = std::stoi(line.substr(line.find("is") + 3, line.find("years") - 5)); // Extract "25"
이 예에서는 std::cin을 사용하여 단일 단어(이름)를 읽은 다음 std::cin.getline()을 사용하여 다음 줄 전체를 읽습니다. 나이가 포함된 줄을 읽기 위해 std::cin을 사용했다면 주변 텍스트 없이 "25"만 추출했을 것입니다.
결론
공백이나 줄바꿈이 포함된 입력을 처리할 때는 std::cin.getline()과 std::cin의 차이점을 파악하는 것이 필수적입니다. 개발자는 고유한 동작을 이해함으로써 입력의 특정 부분을 효과적으로 검색하고 데이터 처리 시 잠재적인 모호성을 피할 수 있습니다.
위 내용은 C에서 `std::cin`과 `std::cin.getline()`의 주요 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!