"입출력문"의 두 판 사이의 차이
1번째 줄: | 1번째 줄: | ||
− | '''입출력문'''(input-output statement)은 포트란(FORTRAN) 용어. 외부 매체 사이의 입출력이나 관련 동작을 하는 문장이며 [[read]] 문, [[write]] 문 및 보조 입출력문([[rewind]], [[backspase]], [[endfile]] 문)이 있다.<ref> 〈[https://terms.naver.com/entry.naver?docId=826013&cid=50376&categoryId=50376 입출력문]〉, 《네이버 지식백과》 </ref> | + | '''입출력문'''(input-output statement)은 [[포트란]](FORTRAN) 용어. 외부 매체 사이의 입출력이나 관련 동작을 하는 문장이며 [[read]] 문, [[write]] 문 및 보조 입출력문([[rewind]], [[backspase]], [[endfile]] 문)이 있다.<ref> 〈[https://terms.naver.com/entry.naver?docId=826013&cid=50376&categoryId=50376 입출력문]〉, 《네이버 지식백과》 </ref> |
+ | ==개요== | ||
+ | 컴퓨터 처리 분야에서, 컴퓨터의 5대기능의 [[제어]], [[연산]], [[입력]], [[출력]], [[기억]] 가운데, 입력, 출력의 기능을 꺼내 입출력이라고 이름 붙인다고 여겨진다.보통 입력 장치를 이용하고 컴퓨터에 사용자가 데이터, 정보 등을 전달하여 출력 장치를 이용하고, 컴퓨터가 사용자에게 데이터 등을 전달한다. 또, 컴퓨터끼리 정보를 제공하는 통신(컴퓨터 네트워크)도, 입출력 기능에 해당한다.<ref> 〈[https://ko.wikipedia.org/wiki/%EC%9E%85%EC%B6%9C%EB%A0%A5 입출력]〉, 《위키백과》 </ref> | ||
+ | |||
+ | ==특징== | ||
+ | 흔히 printf()와 scanf()으로 이루어져 있으며 printf()는 출력을 scanf()은 입력을 구성한다.다음은 이 둘에 대한 예시이다. | ||
+ | *출력 예시1 | ||
+ | #include<stdio.h> | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | printf("%7d %7d\n", 1, -1); | ||
+ | printf("%7d %7d\n", 12, -12); | ||
+ | printf("%7d %7d\n", 123, -123); | ||
+ | printf("%-7d %-7d\n", 1, -1); | ||
+ | printf("%-7d %-7d\n", 12, -12); | ||
+ | printf("%-7d %-7d\n", 123, -123); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | 결과 값 | ||
+ | 1 -1 | ||
+ | 12 -12 | ||
+ | 123 -123 | ||
+ | 1 -1 | ||
+ | 12 -12 | ||
+ | 123 -123<ref name="특징"> jhh0712, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=vjhh0712v&logNo=221495007317 C언어 표준 입출력]〉, 《네이버 블로그》, 2019-03-22 </ref> | ||
+ | *출력 예시2 | ||
+ | #include<stdio.h> | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | printf("%10.3f\n", 1.23456789); | ||
+ | printf("%10.4f\n", 1.23456789); | ||
+ | printf("%10.5f\n", 1.23456789); | ||
+ | printf("%10.6f\n", 1.23456789); | ||
+ | |||
+ | printf("%.3f\n", 1.23456789); | ||
+ | printf("%.4f\n", 1.23456789); | ||
+ | printf("%.5f\n", 1.23456789); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | 결과값 | ||
+ | 1.235 | ||
+ | 1.2346 | ||
+ | 1.23457 | ||
+ | 1.234568 | ||
+ | 1.235 | ||
+ | 1.2346 | ||
+ | 1.23457<ref name="특징"></ref> | ||
+ | *출력 예시3 | ||
+ | #include<stdio.h> | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | printf("10진법 : %d\n", 11); | ||
+ | printf("8진법 : %o\n", 11); | ||
+ | printf("16진법 : %x\n", 11); | ||
+ | |||
+ | |||
+ | printf("소수표기 : %f\n", 0.012345); | ||
+ | printf("지수표기 : %e\n", 0.012345); | ||
+ | printf("지수표기 : %E\n", 0.012345); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | 결과 값 | ||
+ | 10진법 : 11 | ||
+ | 8진법 : 13 | ||
+ | 16진법 : b | ||
+ | 소수표기 : 0.012345 | ||
+ | 지수표기 : 1.234500e-02 | ||
+ | 지수표기 : 1.234500E-02<ref name="특징"></ref> | ||
+ | *입력 예시1 | ||
+ | #include<stdio.h> | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | int a, b; | ||
+ | |||
+ | printf("입력 : "); | ||
+ | scanf("%3d%3d", &a, &b); | ||
+ | printf("%d %d\n", a, b); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | 결과값 | ||
+ | 123456 | ||
+ | 123 456<ref name="특징"></ref> | ||
+ | *입력 예시2 | ||
+ | #include<stdio.h> | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | int dec, oct, hex; | ||
+ | |||
+ | printf("입력 : "); | ||
+ | scanf("%d %o %x", &dec, &oct, &hex); | ||
+ | printf("%d %d %d\n", dec, oct, hex); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | 결과값 | ||
+ | 10 10 10 | ||
+ | 10 8 16<ref name="특징"></ref> | ||
+ | |||
+ | ==종류== | ||
+ | read문과 write문과 보조 입출력 문으로 크게 3가지로 나눈다. | ||
+ | |||
+ | ===read문=== | ||
+ | read(n) 함수는 파일 스트림으로 부터 해당 위치의 문자 n개를 읽어오는 함수이고 n바이트를 읽어오는 거다. read() 이렇게 아무것도 넣지 않으면 모든 문자를 읽어오게 된다.(파이썬에서 설명하는 거다.) | ||
+ | *예시 | ||
+ | # 파일 r 모드로 열기 | ||
+ | f = open('C:/Test/t2.txt', 'r') | ||
+ | |||
+ | # read() 함수 이용해서 하나씩 읽어오기 | ||
+ | print('\n1. read()') | ||
+ | print(f'위치 : {f.tell()}') | ||
+ | |||
+ | s1 = f.read(1) | ||
+ | print(s1) | ||
+ | |||
+ | # readline() 함수 이용해서 한 라인씩 읽어오기 | ||
+ | print('\n2. readline()') | ||
+ | print(f'위치 : {f.tell()}') | ||
+ | |||
+ | s2 = f.readline() | ||
+ | print(s2) | ||
+ | |||
+ | # readlines() 함수 이용해서 모두 읽어오기 | ||
+ | print('\n3. readlines()') | ||
+ | print(f'위치 : {f.tell()}') | ||
+ | |||
+ | s3 = f.readlines() | ||
+ | print(s3) | ||
+ | |||
+ | # 맨 처음 위치로 가서 한줄 읽기 | ||
+ | print('\n4. seek(0), readline()') | ||
+ | |||
+ | f.seek(0) | ||
+ | print(f'위치 : {f.tell()}') | ||
+ | |||
+ | s4 = f.readline() | ||
+ | print(s4) | ||
+ | |||
+ | |||
+ | # 파일 닫기 | ||
+ | f.close() | ||
+ | 실행결과 | ||
+ | 1. read() | ||
+ | 위치 : 0 | ||
+ | w | ||
+ | 2. readline() | ||
+ | 위치 : 1 | ||
+ | rite write write | ||
+ | 3. readlines() | ||
+ | 위치 : 19 | ||
+ | [' 파이썬 파일 입출력 포스팅\n', 'ab123456abcdefg\n', 'BlockDMask\n', 'python\n', 'blog'] | ||
+ | 4. seek(0) readline() | ||
+ | 위치 : 0 | ||
+ | write write write<ref name="read문"> BlockDMask, 〈[https://blockdmask.tistory.com/454 (python) 파이썬 파일읽기, 파일쓰기 (open , close, write, read, tell, seek)]〉, 《티스토리》, 2020-12-23 </ref> | ||
{{각주}} | {{각주}} | ||
==참고자료== | ==참고자료== | ||
+ | * 〈[https://terms.naver.com/entry.naver?docId=826013&cid=50376&categoryId=50376 입출력문]〉, 《네이버 지식백과》 | ||
+ | * 〈[https://ko.wikipedia.org/wiki/%EC%9E%85%EC%B6%9C%EB%A0%A5 입출력]〉, 《위키백과》 | ||
+ | * jhh0712, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=vjhh0712v&logNo=221495007317 C언어 표준 입출력]〉, 《네이버 블로그》, 2019-03-22 | ||
+ | * BlockDMask, 〈[https://blockdmask.tistory.com/454 (python) 파이썬 파일읽기, 파일쓰기 (open , close, write, read, tell, seek)]〉, 《티스토리》, 2020-12-23 | ||
==같이보기== | ==같이보기== | ||
+ | *[[read]] | ||
+ | *[[write]] | ||
+ | *[[rewind]] | ||
+ | *[[backspase]] | ||
+ | *[[endfile]] | ||
+ | |||
+ | {{프로그래밍|검토 필요}} |
2021년 8월 24일 (화) 18:02 판
입출력문(input-output statement)은 포트란(FORTRAN) 용어. 외부 매체 사이의 입출력이나 관련 동작을 하는 문장이며 read 문, write 문 및 보조 입출력문(rewind, backspase, endfile 문)이 있다.[1]
개요
컴퓨터 처리 분야에서, 컴퓨터의 5대기능의 제어, 연산, 입력, 출력, 기억 가운데, 입력, 출력의 기능을 꺼내 입출력이라고 이름 붙인다고 여겨진다.보통 입력 장치를 이용하고 컴퓨터에 사용자가 데이터, 정보 등을 전달하여 출력 장치를 이용하고, 컴퓨터가 사용자에게 데이터 등을 전달한다. 또, 컴퓨터끼리 정보를 제공하는 통신(컴퓨터 네트워크)도, 입출력 기능에 해당한다.[2]
특징
흔히 printf()와 scanf()으로 이루어져 있으며 printf()는 출력을 scanf()은 입력을 구성한다.다음은 이 둘에 대한 예시이다.
- 출력 예시1
#include<stdio.h> int main() { printf("%7d %7d\n", 1, -1); printf("%7d %7d\n", 12, -12); printf("%7d %7d\n", 123, -123); printf("%-7d %-7d\n", 1, -1); printf("%-7d %-7d\n", 12, -12); printf("%-7d %-7d\n", 123, -123); return 0; } 결과 값 1 -1 12 -12 123 -123 1 -1 12 -12 123 -123[3]
- 출력 예시2
#include<stdio.h> int main() { printf("%10.3f\n", 1.23456789); printf("%10.4f\n", 1.23456789); printf("%10.5f\n", 1.23456789); printf("%10.6f\n", 1.23456789); printf("%.3f\n", 1.23456789); printf("%.4f\n", 1.23456789); printf("%.5f\n", 1.23456789); return 0; } 결과값 1.235 1.2346 1.23457 1.234568 1.235 1.2346 1.23457[3]
- 출력 예시3
#include<stdio.h> int main() { printf("10진법 : %d\n", 11); printf("8진법 : %o\n", 11); printf("16진법 : %x\n", 11); printf("소수표기 : %f\n", 0.012345); printf("지수표기 : %e\n", 0.012345); printf("지수표기 : %E\n", 0.012345); return 0; } 결과 값 10진법 : 11 8진법 : 13 16진법 : b 소수표기 : 0.012345 지수표기 : 1.234500e-02 지수표기 : 1.234500E-02[3]
- 입력 예시1
#include<stdio.h>
int main() { int a, b; printf("입력 : "); scanf("%3d%3d", &a, &b); printf("%d %d\n", a, b); return 0; } 결과값 123456 123 456[3]
- 입력 예시2
#include<stdio.h> int main() { int dec, oct, hex; printf("입력 : "); scanf("%d %o %x", &dec, &oct, &hex); printf("%d %d %d\n", dec, oct, hex); return 0; } 결과값 10 10 10 10 8 16[3]
종류
read문과 write문과 보조 입출력 문으로 크게 3가지로 나눈다.
read문
read(n) 함수는 파일 스트림으로 부터 해당 위치의 문자 n개를 읽어오는 함수이고 n바이트를 읽어오는 거다. read() 이렇게 아무것도 넣지 않으면 모든 문자를 읽어오게 된다.(파이썬에서 설명하는 거다.)
- 예시
# 파일 r 모드로 열기 f = open('C:/Test/t2.txt', 'r') # read() 함수 이용해서 하나씩 읽어오기 print('\n1. read()') print(f'위치 : {f.tell()}') s1 = f.read(1) print(s1) # readline() 함수 이용해서 한 라인씩 읽어오기 print('\n2. readline()') print(f'위치 : {f.tell()}') s2 = f.readline() print(s2) # readlines() 함수 이용해서 모두 읽어오기 print('\n3. readlines()') print(f'위치 : {f.tell()}') s3 = f.readlines() print(s3) # 맨 처음 위치로 가서 한줄 읽기 print('\n4. seek(0), readline()') f.seek(0) print(f'위치 : {f.tell()}') s4 = f.readline() print(s4) # 파일 닫기 f.close() 실행결과 1. read() 위치 : 0 w 2. readline() 위치 : 1 rite write write 3. readlines() 위치 : 19 [' 파이썬 파일 입출력 포스팅\n', 'ab123456abcdefg\n', 'BlockDMask\n', 'python\n', 'blog'] 4. seek(0) readline() 위치 : 0 write write write[4]
각주
참고자료
- 〈입출력문〉, 《네이버 지식백과》
- 〈입출력〉, 《위키백과》
- jhh0712, 〈C언어 표준 입출력〉, 《네이버 블로그》, 2019-03-22
- BlockDMask, 〈(python) 파이썬 파일읽기, 파일쓰기 (open , close, write, read, tell, seek)〉, 《티스토리》, 2020-12-23
같이보기