> 백엔드 개발 > C++ > 본문

명시적 루프 없이 C에서 cin에서 EOF까지 데이터를 어떻게 읽을 수 있습니까?

Barbara Streisand
풀어 주다: 2024-11-18 04:18:03
원래의
553명이 탐색했습니다.

How Can I Read Data from cin Until EOF in C   Without Explicit Loops?

루프 없이 C에서 EOF까지 Cin에서 데이터 읽기

사용자 입력에서 파일 끝까지 데이터를 읽는 효과적인 방법 찾기( EOF)는 C 프로그래밍에서 일반적인 작업입니다. 그러나 루프를 사용하지 않고 데이터를 탐색하는 것은 어려운 일입니다.

한 가지 가능한 접근 방식은 cin.get( input, ' ' )을 활용하는 것입니다. 그러나 이 방법은 EOF 또는 널 문자(' ') 중 더 빨리 발견되는 경우 읽기를 종료하므로 이상적이지 않을 수 있습니다.

포괄적이고 안정적인 접근 방식을 위해 루프를 사용하는 것은 추천합니다. std::getline() 함수는 편리한 솔루션을 제공합니다.

std::string line;
while (std::getline(std::cin, line))
{
    std::cout << line << std::endl;
}
로그인 후 복사

getline() 함수는 입력을 한 줄씩 읽으며 기본적으로 줄 바꿈으로 끝납니다. 대체 종료 문자를 지정할 수 있지만 EOF를 직접 대상으로 지정하는 것은 문자 자체를 나타내지 않기 때문에 불가능합니다.

루프와 getline()을 함께 활용하면 EOF까지 표준 입력에서 데이터를 효과적으로 읽을 수 있습니다. 발생합니다. 이 접근 방식은 EOF를 확인하기 위한 추가 논리 없이 임의의 양의 데이터를 처리할 수 있는 간단하고 안정적인 메커니즘을 제공합니다.

위 내용은 명시적 루프 없이 C에서 cin에서 EOF까지 데이터를 어떻게 읽을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿