ํ์ผ ์ด์ฉ(File Operation) ํ์ผ ์ด๊ธฐ/์์ฑ ํ์ผ์ ์ฐ๊ธฐ ํ์ผ ๋ด์ฉ ์ฝ๊ธฐ ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ์์ ์คํํ ์ฌ๋ฌ ์์
๋ค์ ์ปดํจํฐ ์ฃผ๊ธฐ์ต์ฅ์น์ธ RAM(random access memory)์ ์ ์ฅ๋ฉ๋๋ค. ์ด ์ ์ฅ์๋ ์ธํฐํ๋ฆฌํฐ๊ฐ ์ข
๋ฃ๋๋ฉด ํจ๊ป RAM์ ์ ์ฅ๋ ์์
๊ณผ์ ์ด๋ ๊ฒฐ๊ณผ๊ฐ ํ๋ฐ๋๋ฏ๋ก ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋๋ ํ๋๋์คํฌ์ ๊ทธ ์์
์ ์ ์ฅํ ํ์๊ฐ ์์ต๋๋ค. ์ด ๊ณผ์ ์ ํ 1์ ํจ์ ๋๋ ๋ฉ์๋๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์ฉํ์ฌ ์คํํ ์ ์์ต๋๋ค. ํ 1 ํ์ผ ์ด์ฉ์ ์ํ ํจ์ ์์ ํจ์/๋ฉ์๋ ๋ด์ฉ 1 open() ํ์ผ ์ด๊ธฐ, ํจ์ 2 write() ์ฐ๊ธฐ(์
๋ ฅ) , ๋ฉ์๋ 2 read() ์ฝ๊ธฐ , ๋ฉ์๋ 3 close() ํ์ผ ๋ซ๊ธฐ, ๋ฉ์๋ ํ์ผ ์ด๊ธฐ/์์ฑ ํ์ผ์ ํธ์ถ ๋๋ ์๋ก์ด ํ์ผ์ ์์ฑํ๊ธฐ ์ํด ๋ด์ฅํจ์์ธ open() ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ํจ์๋ ํ์ผ์ ๊ฒฝ๋ก์ ๊ทธ ํ์ผ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์ง์ ํฉ๋๋ค. ํ์ผ์ ์ฒ๋ฆฌ๋ฐฉ์์ ํ 2์ ์๊ฐํ ๊ฒ๊ณผ ๊ฐ์ด ๋ค์ํฉ๋๋ค. ํ 2 open() ํจ์์ mode ์ข
๋ฅ mode ์ ๋ฏธ 'r' ์ฝ๊ธฐ์ ์ฉ(๊ธฐ๋ณธ๊ฐ) 'w' ์ฐ๊ธฐ ์ ์ฉ, ํ์ผ์ด ์กด์ฌํ์ง ์์ผ๋ฉด ์๋ก์ด ํ์ผ์ด ์์ฑ๋๊ณ ํ์ผ์ด ์กด์ฌํ๋ค๋ฉด ์ด์ ๋ด์ฉ์ ์ง์์ง๋๋ค. 'x' ํ์ผ ์์ฑ, ํ์ผ์ด ์กด์ฌํ๋ค๋ฉด ์๋ฌ๋ฐ์ 'a' ํ์ผ์ ๊ธฐ์กด ๋ด์ฉ์ ๋์ ์ฒจ๊ฐ๋๊ณ ํ์ผ์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ์ ํ์ผ์ด ์์ฑ 't' ํ์ผ์ text ๋ชจ๋๋ก ์ฝ๋๋ค(๊ธฐ๋ณธ). 'b' ํ์ผ์ ์ด์ง๋ชจ๋๋ก ์ฝ๋๋ค. '+' ํ์ผ์ ์
๋ฐ์ดํธํ๊ธฐ ์ํด ์คํํฉ๋๋ค. ์ฌ์ฉ๋ฐฉ์์ r ๊ณผ w๋ฅผ ๋ชจ๋ ์ฌ์ฉํฉ๋๋ค. open() ํจ์ ์ฌ์ฉ ํ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅ์ ์ํด์๋ ์ธํฐํ๋ฆฌํฐ์์ ๊ทธ ๊ฐ์ฒด(๊ฒฐ๊ณผ)๋ฅผ...
๋ฌธ์์ ๋ฌธ์์ด(Character & String) ์ธ์ฝ๋ฉ๊ณผ ๋์ฝ๋ฉ ๋ฌธ์์ด์ ์์ฑ๊ณผ ์ธ๋ฑ์ค ๋ฌธ์์ด์ ๋ถ๋ณ(Immutable)๊ฐ์ฒด ๋ฌธ์์ด ์ฐ์ฐ ๋ํ์ ์ธ ๋ฌธ์์ด ๋ฉ์๋ ์ธ์ฝ๋ฉ๊ณผ ๋์ฝ๋ฉ ์ปดํจํฐ์ ์
๋ ฅ๋ ๋ฌธ์ ์ญ์ 2์ง์๋ก ๋ณํ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฌธ์ ์์ฒด๊ฐ ์์นํ์ธ 2์ง์๋ก ์ง์ ์ ์ผ๋ก ๋ณํ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํน์ ํ ๋ฌธ์๋ ๋์๋๋ ๊ณ ์ ํ ์ ์๊ฐ์ ๊ฐ์ง๋ฉฐ ๊ทธ ์ ์๋ฅผ 2์ง์๋ก ๋ณํํฉ๋๋ค. ์ด ๊ณผ์ ์ด ์ด๋ฃจ์ด์ง๊ธฐ ์ํด์๋ ์
๋ ฅ๋๋ ๋ฐ์ดํฐ๊ฐ ๋ฌธ์ ๋๋ ์ซ์์ธ์ง๋ฅผ ๋ช
ํํ ๊ตฌ๋ถํด์ผ ํฉ๋๋ค. C ๋ฑ์ ์ธ์ด์์๋ ์๋ฃํ์ ๋ฏธ๋ฆฌ ์ ์ธํ๋๋ฐ ๋ฐํด ํ์ด์ฌ์ ์์ ๋ฐ์ดํ(' ')๋ ํฐ ๋ฐ์ดํ(" ") ๋ก ๋ฌธ์(character) ๋๋ ๋ฌธ์์ด(string)์์ ์ ์ธํฉ๋๋ค. ์ด์๊ฐ์ด ์
๋ ฅ๋ ๋ฌธ์๋ ์ปดํจํฐ์์ 2์ง์๋ก ์ฝ๋ํ๋๋๋ฐ ์ด ๊ณผ์ ์ ์ธ์ฝ๋ฉ(encoding) ์ด๋ผ ํ๋ฉฐ ๋ฐ๋๋ก ์ธ์ฝ๋ฉ์ ๊ฒฐ๊ณผ์ธ ์ฝ๋ํฌ์ธํธ๋ฅผ ๋ฌธ์๋ก ์ ํํ๋ ๊ณผ์ ์ ๋์ฝ๋ฉ(decoding) ์ด๋ผ ํฉ๋๋ค. ํน์ ํ ๋ฌธ์์ ๋์ํ๋ ์ด์ง์ ๊ฐ์ ์ฝ๋ ํฌ์ธํธ(code point) ๋ผ๊ณ ํฉ๋๋ค. ๋ด์ฅํจ์ ord(๋ฌธ์) ์ chr(์ ์) ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ ์ ์์ ๋งค์นญ๊ด๊ณ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๋ค์์ ๋ฌธ์ 'c'์ ๋งค์นญ๋๋ ์ ์์ ์ด๋ฅผ ์ด์ง์๋ก ๋ํ๋ธ ๊ฒ์
๋๋ค. ch='c' ord(ch) 99 chr(ord(ch)) 'c' ๋ฌธ์ 'c'์ ๋์ํ๋ ์ ์์ 2์ง์ ๊ฐ์ ์ ์๋ฅผ ์ด์ง์๋ฅผ ๋ฐํํ๋ ๋ด์ฅํจ์์ธ bin() ๋ก ํ์ธํ ์ ์์ต๋๋ค. bin(ord(ch)) '0b1100011' ํ๋์ ๊ธ์๋ฅผ ๋ฌธ์(character) , ํ ๊ฐ ์ด์์ ๋ฌธ์๋ค์ ์งํฉ์ ๋ฌธ์์ด(string) ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ค๋ฅธ ๋ง์ ํ๋ก๊ทธ๋๋ฐ์ธ์ด์์๋ ๋ฌธ์์ ๋ฌธ์์ด์ ์๊ฒฉํ ๊ตฌ๋ณํ์ง๋ง ํ์ด์ฌ์์ ๋ ๋ชจ๋ ๋ฌธ์์ด(string)๋ก ์ธ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ์ด์ฌ์์ ๋ฌธ์๋ ๋ฌธ์์ด์ ํ ๊ฐ ์ด์์ ๊ฐ๋ค์ ํฌ...