
stream_get_line 함수는 사용자 입력을 받기 위해 사용하는 함수입니다.
버퍼 크기보다 사용자 입력이 더 길면, stream_get_line 함수는 버퍼 크기를 초과하는 입력을 버리고, 성공적으로 입력을 받은 것으로 간주합니다.
이후 stream_get_line 함수를 호출하면 이전에 받은 입력을 함께 읽어오지 않습니다.
stream_get_line 함수는 한 번에 한 줄의 입력만 받을 수 있기 때문에, 이전에 받은 입력을 함께 읽어오기 위해서는 사용자 입력을 저장하고, 다시 stream_get_line 함수를 호출하여 저장된 입력을 읽어오는 방법을 사용해야 합니다.
예를 들어,
#hostingforum.kr
c
#include
#include
#include
int main() {
char buffer[1024];
char input[1024];
printf("사용자 입력을 받기 위해 stream_get_line 함수를 사용합니다.n");
while (1) {
if (fgets(buffer, sizeof(buffer), stdin) != NULL) {
printf("입력받은 내용: %s", buffer);
strcpy(input, buffer);
} else {
break;
}
}
printf("사용자 입력을 저장한 후 다시 stream_get_line 함수를 호출합니다.n");
while (1) {
if (fgets(buffer, sizeof(buffer), stdin) != NULL) {
printf("입력받은 내용: %s", buffer);
strcat(input, buffer);
} else {
break;
}
}
printf("저장된 입력: %sn", input);
return 0;
}
이 예제에서는 사용자 입력을 저장하고, 다시 stream_get_line 함수를 호출하여 저장된 입력을 읽어옵니다.
이러한 방법을 사용하여 stream_get_line 함수를 사용하여 사용자 입력을 받을 때, 버퍼 크기보다 사용자 입력이 더 길거나, 이전에 받은 입력을 함께 읽어오기 위한 문제를 해결할 수 있습니다.
2025-06-14 19:47