강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

wjdwn535님의 프로필 이미지
wjdwn535

작성한 질문수

홍정모의 따라하며 배우는 C언어

13.4 텍스트 파일 입출력 함수들

13.4 words[0]

작성

·

40

0

while ((fscanf(stdin, "%30s", words) == 1) && (words[0] != '.'))
	fprintf(fp, "%s\n", words);

에서 words[0] != '.'을 하는 이유가 궁금합니다.

답변 2

0

안녕하세요? 질문&답변 도우미 durams입니다.

본 영상의 3:48~ 에서 해당 부분에 대한 설명이 나옵니다. 확인하시고 추가로 궁금한 점이 있으시다면 질문 주세요.

wjdwn535님의 프로필 이미지
wjdwn535
질문자

물론 "."이 나오면 종료된다는 사실은 알고 있습니다. 하지만 글자를 입력하면 words 배열에 글자가 채워지고 마지막에 "."이 붙어서 의미 없지 안나요?

글자를 입력하고 나면 마지막에 "."이 자동으로 붙는다는 말씀이신가요? 해당 코드의 목적은 입력을 계속해서 받다가 그만 받기 위한 목적으로 첫 글자가 "."인지 확인하는 로직이니 한 번 확인해주세요.

제가 질문을 잘 이해못했을 수도 있으니, 해결되지 않으셨다면 다시 질문주셔도 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다. wjdwn535님.

words[0] != '.'fscanf 함수로 입력된 문자열의 첫 번째 문자가 .인지 확인하기 위한 조건입니다. 이 조건은 사용자가 입력을 멈추거나 특정 종료 조건을 설정하기 위해 자주 사용됩니다. 예를 들어, 사용자가 .을 입력하면 반복문을 종료하도록 하는 것입니다. 이렇게 하면 파일 쓰기 반복을 효율적으로 제어할 수 있습니다.

만약 관련된 내용을 더 자세히 알고 싶다면, 자신과 비슷한 질문을 했던 다른 수강생의 다음 질문이 도움될 수 있습니다.

이 질문에서 stdin의 정의와 관련된 이해를 돕는 답변이 제공되어, 여러분의 문제 해결에 유용할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

wjdwn535님의 프로필 이미지
wjdwn535

작성한 질문수

질문하기