본문 바로가기
C++/명품 C++ Programming

[C++/명품 C++ Programming]명품 C++ 12장 연습문제 - 이론 문제

by starfish22 2022. 6. 5.
728x90

1. 1번

 

2. 4번

 

3. <fstream>

 

4. 4번

 

5.

(1) 12바이트

(2) 0x57, 0x65, 0x63, 0x6F, 0x6D, 0x65, 0x0D, 0x0A, 0x43, 0x2B, 0x2B

(3) 11 , '\r' 문자를 세지 않음

(4) 12 , '\r' 문자까지 셈

 

6.

(1) 19바이트

(2) 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x0D, 0x0A, 0x49, 0x6E, 0x74, 0x65, 0x67, 0x65, 0x72

(3) 18

(4) 19 , 텍스트 파일을 읽을 때는 '\n'만 읽는데 바이너리 파일을 읽을 때는 '\r', '\n'을 읽는다.

 

7.

ifstream fin("test.txt");

 

8.

if(!fout) {
    cout<<"열기 실패";
    return;
}

 

9. 3번

 

10. 2번

 

11.

void fread(ifstream& fin) {
	char buf[256];
	while (!fin.eof()) {
		fin.read(buf, 256);
		int n = fin.gcount();
		cout.write(buf, n);
	}
}

 

12.

void fread(ifstream& fin) {
	char buf[1024];
	while (true) {
		fin.read(buf, 1024);
		int n = fin.gcount();
		cout.write(buf, n);
		if (n < 1024) break;
	}
}

 

13. 파일에 존재하지 않고, 파일의 끝을 인식하면 EOF를 반환하여 알려준다.

 

14. 3번

 

15. 4번

 

16. 2번

 

17. 텍스트 I/O로 읽으면 '\r'문자를 읽지 않아 혼선이 생길 수 있다.

 

18. 문제없다. 바이너리 모드로 읽기 때문에 '\r' 문자를 읽어올 수 있기 때문이다.

 

19. 2번

 

20. fin.seekg(100, ios::beg);

 

21. 30

 

22. length-1-i

728x90

댓글