<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4%2F2012%2F%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4%EA%B0%95%EC%82%AC%EA%B5%90%EC%9C%A1%2F4%EC%A3%BC%EC%B0%A8</id>
	<title>새싹교실/2012/새싹교실강사교육/4주차 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4%2F2012%2F%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4%EA%B0%95%EC%82%AC%EA%B5%90%EC%9C%A1%2F4%EC%A3%BC%EC%B0%A8"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2012/%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4%EA%B0%95%EC%82%AC%EA%B5%90%EC%9C%A1/4%EC%A3%BC%EC%B0%A8&amp;action=history"/>
	<updated>2026-05-16T00:48:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2012/%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4%EA%B0%95%EC%82%AC%EA%B5%90%EC%9C%A1/4%EC%A3%BC%EC%B0%A8&amp;diff=54103&amp;oldid=prev</id>
		<title>imported&gt;zeldababo at 16:36, 17 April 2012</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2012/%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4%EA%B0%95%EC%82%AC%EA%B5%90%EC%9C%A1/4%EC%A3%BC%EC%B0%A8&amp;diff=54103&amp;oldid=prev"/>
		<updated>2012-04-17T16:36:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;4주차: 한달이 되었으니 한번 돌아보자&lt;br /&gt;
* 변수, 제어문, 함수, 배열, 포인터, 구조체 복습 복습 + File I/O -&lt;br /&gt;
이번 시간에 이건 꼭 해야 돼!&lt;br /&gt;
# Wiki에 Ice breaking 및 진행 상황 정리.&lt;br /&gt;
# 구글 협업 과제 확인 및 느린 복습 후 수업 진행&lt;br /&gt;
# 파일 입출력 예제를 통한 자신만의 데이터 파일 만들어보기&lt;br /&gt;
&lt;br /&gt;
# 정보저장은 왜 필요한가?&lt;br /&gt;
&lt;br /&gt;
이번 단원에서 배워 볼 내용은 크게 &amp;#039;파일&amp;#039; 이라고 할 수 있습니다.&lt;br /&gt;
파일은 운영체제에 의해서 직접 관리되는 대상이기 때문에 파일을 다루려면, 우선 운영체제와 파일과의 관계를 이해해야 합니다.&lt;br /&gt;
파일은 메모리와 같은 주기억장치가 아닌, 하드 디스크 같은 보조기억장치에 저장되는 기본 단위입니다. 파일에는, 그 어떤 프로그램이던 간에 무조건 프로그램이 작성한 정보가 저장되는데요. 프로그램은 꽤나 많이, 실행 중에 파일을 새로 만들거나 등의 행동을 해서 파일을 액세스해야 하는 경우가 생깁니다. 그렇기 때문에 정보의 저장과 불러오기가 꼭 필요합니다. 그걸 간단하게 두 개로 설명해보겠습니다.&lt;br /&gt;
 &lt;br /&gt;
1.1 프로그램의 실행 파일에는 크기의 제약이 있기 때문에 프로그램이 가지고자 하는 모든 데이터를 가질 수 없습니다. 그래서 큰 정보는 외부의 파일에 두고,  실행 중에 파일을 읽어서 사용하는 방법을 흔히 쓰게 됩니다. 예를 들어 게임 프로그램에는 BGM, 효과음, 사진, 그림, 동영상 등의 파일을 읽어서 출력하게 됩니다.&lt;br /&gt;
&lt;br /&gt;
  1.2 프로그램이 작업한 결과를 영구적으로 보존하기 위해서도 파일을 외부에 저장합니다. 이는 당연한 거겠죠? 우리가 그림판을 통해 작업을 하고 난 뒤에는 항상 저장을 합니다.  이와 같은 이치입니다. 만약 게임의 점수 정보가 담긴 파일을 저장한다든가 등에도 필요합니다.&lt;br /&gt;
&lt;br /&gt;
# 실습 예제&lt;br /&gt;
2.1	기본 파일 쓰기 예제&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
	FILE *ftr = fopen(&amp;quot;C:\\입출력함수.txt&amp;quot;,&amp;quot;w&amp;quot;);&lt;br /&gt;
	FILE *ftr2;&lt;br /&gt;
	&lt;br /&gt;
	int ten = 10;&lt;br /&gt;
	int get = 0;&lt;br /&gt;
	&lt;br /&gt;
	fprintf(ftr, &amp;quot;%d&amp;quot;,ten);&lt;br /&gt;
	fclose(ftr);&lt;br /&gt;
	&lt;br /&gt;
	ftr2 = fopen(&amp;quot;C:\\입출력함수.txt&amp;quot;,&amp;quot;r&amp;quot;);&lt;br /&gt;
	fscanf(ftr, &amp;quot;%d&amp;quot;,&amp;amp;get);&lt;br /&gt;
	&lt;br /&gt;
	printf(&amp;quot;%d&amp;quot;,get);&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
    &lt;br /&gt;
2.2 절대경로를 통한 파일 복사 예제&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   FILE *fp_source, *fp_dest;&lt;br /&gt;
   char oneByte;&lt;br /&gt;
   char source&amp;amp;#91;50&amp;amp;#93;,  dest&amp;amp;#91;50&amp;amp;#93;;&lt;br /&gt;
   scanf(&amp;quot;%s %s&amp;quot;, source, dest);&lt;br /&gt;
&lt;br /&gt;
   fp_source = fopen(source, &amp;quot;rb&amp;quot;);&lt;br /&gt;
   fp_dest   = fopen(dest, &amp;quot;wb&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   while(!feof(fp_source)) {&lt;br /&gt;
      oneByte = fgetc(fp_source);&lt;br /&gt;
      fputc(oneByte, fp_dest);&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;성공적으로 복사가 완료되었습니다!\n&amp;quot;); &lt;br /&gt;
   fclose(fp_source);&lt;br /&gt;
   fclose(fp_dest);&lt;br /&gt;
   &lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
입력 : C:\5.png  C:\copy\5.png 주의~! 진짜 파일이 있어야함.&lt;br /&gt;
# 코딩 KeyWord (선생님들께 질문해보세요)&lt;br /&gt;
3.1	운영 체제와 메모리&lt;br /&gt;
3.2	FILE 구조체&lt;br /&gt;
3.3	절대경로와 상대경로&lt;br /&gt;
3.4	파일 입출력 스트림 fopen, fclose, fscanf, fprintf&lt;br /&gt;
3.5	stdin, stdout&lt;br /&gt;
3.7 리다이렉션&lt;br /&gt;
# 과제&lt;br /&gt;
버전 관리 시스템의 계정을 만들어보고 fork하고 pull request해오기 매뉴얼을 읽고 각자의 프로젝트도 생성해보세요.&lt;br /&gt;
&lt;br /&gt;
http://rogerdudler.github.com/git-guide/index.ko.html&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;zeldababo</name></author>
	</entry>
</feed>