C 입력 및 출력


input을 언급할 때 이는 프로그램에 일부 데이터를 채우는 것을 의미합니다. 입력은 파일 형식이나 명령줄을 통해 이루어질 수 있습니다. C 언어는 주어진 입력을 읽고 필요에 따라 프로그램에 채우는 일련의 내장 함수를 제공합니다.

output은 화면, 프린터 또는 모든 파일에 일부 데이터를 표시한다는 의미입니다. C 언어는 데이터를 컴퓨터 화면에 출력하고 데이터를 텍스트 파일이나 바이너리 파일로 저장하는 일련의 내장 기능을 제공합니다.

표준 파일

C 언어는 모든 장치를 파일로 취급합니다. 따라서 장치(예: 모니터)는 파일과 동일한 방식으로 처리됩니다. 키보드와 화면에 대한 접근을 제공하기 위해 프로그램 실행 시 다음 세 가지 파일이 자동으로 열립니다. +

표준 오류

파일 포인터는 파일에 액세스하는 방법입니다. 이 섹션에서는 화면에서 값을 읽는 방법과 결과를 화면에 출력하는 방법에 대해 설명합니다.

getchar() & putchar() 함수

int getchar(void) 이 함수는 화면에서 사용 가능한 다음 문자를 읽고 이를 정수로 반환합니다. 이 함수는 한 번에 한 문자만 읽습니다. 루프 내에서 이 메서드를 사용하여 화면에서 여러 문자를 읽을 수 있습니다.

int putchar(int c) 함수는 문자를 화면에 출력하고 동일한 문자를 반환합니다. 이 함수는 한 번에 한 문자만 출력합니다. 루프 내에서 이 메서드를 사용하여 화면에 여러 문자를 출력할 수 있습니다.

아래 예를 참조하세요:

#include <stdio.h>int main( ){   int c;

   printf( "Enter a value :");
   c = getchar( );

   printf( "\nYou entered: ");
   putchar( c );   return 0;}

위의 코드가 컴파일되고 실행되면 텍스트를 입력할 때까지 기다립니다. 텍스트를 입력하고 Enter 키를 누르면 프로그램이 계속 진행되며 단일 내용만 읽습니다. 다음과 같이 표시되는 문자:

$./a.out<b>Enter a value :</b> this is test<b>You entered:</b> t

gets() & puts() 함수

char *gets(char *s) 이 함수는 stdin의 한 줄을 s이 가리키는 버퍼로 A 종결자까지 읽습니다. 또는 EOF.

int puts(const char *s) 함수는 문자열 s와 후행 개행 문자를 stdout에 씁니다.

#include <stdio.h>int main( ){   char str[100];

   printf( "Enter a value :");
   gets( str );

   printf( "\nYou entered: ");
   puts( str );   return 0;}

위 코드가 컴파일되고 실행되면 텍스트를 입력할 때까지 기다립니다. 텍스트를 입력하고 Enter 키를 누르면 프로그램은 다음과 같이 계속해서 줄 끝까지 전체 줄을 읽습니다. 아래와 같습니다:

$./a.out<b>Enter a value :</b> this is test<b>You entered:</b> This is test

scanf() 및 printf() 함수

int scanf(const char *format, ...) 함수는 표준 입력 스트림 stdin에서 입력을 읽고 제공된 에 따라 입력을 찾습니다. 형식 .

int printf(const char *format, ...) 함수는 표준 출력 스트림 stdout 에 출력을 쓰고 제공된 형식에 따라 출력을 생성합니다.

format은 간단한 상수 문자열일 수 있지만 %s, %d, %c, %f 등을 지정하여 각각 문자열, 정수, 문자 또는 부동 소수점을 출력하거나 읽을 수 있습니다. 필요에 따라 사용할 수 있는 다른 서식 옵션도 많이 있습니다. 자세한 내용은 해당 기능에 대한 참조 설명서를 확인하세요. 이제 다음의 간단한 예를 통해 이해를 심화해 보겠습니다.

#include <stdio.h>int main( ){   char str[100];   int i;

   printf( "Enter a value :");
   scanf("%s %d", str, &i);

   printf( "\nYou entered: %s %d ", str, i);   return 0;}

위 코드를 컴파일하고 실행하면 텍스트를 입력하기를 기다리고, 텍스트를 입력하고 Enter 키를 누르면 프로그램이 계속 진행됩니다.

$./a.out<b>Enter a value :</b> seven 7<b>You entered:</b> seven 7

여기서 scanf()는 입력이 사용자가 제공한 %s 및 %d와 동일한 형식일 것으로 예상하므로 유효한 값을 제공해야 함을 의미합니다. "문자열 정수"와 같은 입력을 "문자열 문자열" 또는 "정수 정수"로 제공하면 잘못된 입력으로 간주됩니다. 또한, 문자열을 읽을 때 scanf()는 공백을 발견하는 즉시 읽기를 중지하므로 "this is test"는 scanf()에 대한 3개의 문자열입니다.

stderr당신 화면