다시 오신 걸 환영해요
이번 강의에서는 파일에 글을 쓰는 법을 배울 거예요
텍스트 파일에 작성하는 데 집중할 거예요
네 그리고 문자열을 작성하는 방법과 문자열을 작성하는 방법 그리고
형식화된 출력을 작성하는 방법을 배우게 되겠죠
세 가지 방법으로 글을 읽을 수 있었죠
이런 걸 하려면 세 가지 함수에
익숙해져야 해요
가장 간단한 작성 작업이 fputc 함수에 있죠
fgetcfor로 읽는 캐릭터가 있었듯이 fputc로
쓰는 캐릭터도 있어요
fputc라는 텍스트 파일에 singlecharacter를 쓸 거예요
글쓰기처럼 효율적이진 않지만 가끔 필요하긴 하죠
네 첫 번째 변수로 정수를 취하고 두 번째 변수로 파일 포인터를
취하고 정수를 반환합니다
네 함수는 두 번째 인수로 확인된 파일에
대한 첫 번째 인수에 명시된 문자를 작성하죠
파일 포인터는 항상 하는 일을 나타내요 여러분이 쓰고
싶은 파일이죠
여러분이 쓰고자 하는 캐릭터가 첫
번째 매개 변수예요
반환된 캐릭터는 성공했을 때 쓰는 말이죠
만약 eofit이 반환되면 실패했다는 뜻이에요
이프 이외의 결과가 나오면 성공한 거예요
실제로 글자는 대개 한 줄씩 실제
파일에 기입되죠
너무 비효율적이에요
푸텍 기능은 푸텍에게 상반되는 거예요
이것도 자주 사용되죠
동일한 인수를 요구하고 return type도 동일하죠
차이점은 putc는 표준 라이브러리에서 매크로로
구현될 수 있다는 거죠
반면 fputc는 기능이죠
큰 차이는 없지만 거시적인 건 못 배웠어요
그래서 fputcfor로 단일 문자를 작성할 거예요
예를 들어, 아주 간단하죠
가장 먼저 해야 할 일은 파일을 여는 거예요
네 그 전에 변수를 선언합니다 파일 포인터를 선언하죠 null을
초기화해야 합니다
이제 정수를 입력할게요
파일을 열면 w나 w+를 쓴 게 보이실 거예요
W는 타우라이트만 쓴다는 뜻이에요 글은 못 읽어요
W 플러스면 쓰고 읽을 수 있어요
이 경우에는 쓰고 읽을 수 있어요
여기 for 루프가 있어요
33시부터 100시까지 모든 차를 점검할 거예요
이게 정수라면 이건 문자가 ASCI 테이블에서
표현된다는 뜻이에요
네 만약 문자를 쓴다면 예를 들어 59는 ASCI 테이블에서
찾아봐야 알 수 있어요 실제 캐릭터여야 했죠
여기서 그냥ASCI 값을 33에서 100까지 쓰고 fputc
char fp라고 하죠
변환 함수도 사용할 수 있습니다 ASCI 값과
정수를 만들고 싶다면 atoy를 사용하면 되죠
네 c라는 글자를 쓰고 싶다면 fputc atui를 쓰고
c를 작은따옴표로 쓰면 돼요
그래도 괜찮아요 ASCI를 정수로 변환해
작성할 테니까요
첫 번째 인수는 정수입니다 그러니 정수를 작성하세요
두 번째 인수는 파일포인터입니다 아주 간단하죠
그리고 마지막으로 파일을 닫아야 해요
fp 포인터도 null로 설정해야죠
하지만 정수가 필요해요
그러니 조심하세요
항상 아스키아 테이블을 상징했어요
실제 차터 2개의 정수를 aotoy로 변환할 수 있어요
텍스트 파일로 문자열을 작성하는 건 어떨까요?
훨씬 더 유용하고 효율적이죠
fpump 기능을 사용하는 곳이죠
파일이나 스트림에 접속할 수 있어요
네 fget와 비슷해요 여러분이 작성하고자 하는 상수 차지 문자열이 포인터에
대한 첫 매개 변수로 필요합니다
두 번째 파라미터는 파일 포인터로 어떤 파일에 쓰고
싶은지 알려주죠
그런 다음 int를 반환하죠
첫 번째 인수는 ourpoint입니다 문자열이죠 여러분이 쓰고자
하는 문자열이요
두 번째 인수는 파일 포인터입니다 Null 터미네이터에
도달할 때까지 문자열에서 문자를 작성하죠
파일에 nullterminator 캐릭터를 작성하지 않기 때문에
명시적으로 작성해야 해요
네 이것 때문에 복잡해질 수 있어요 데이터를 다시 읽을 때 길이가
다양해질 수 있는데 null 터미네이터에서 끝나지 않거든요
그래서 마지막 줄에
새 캐릭터가 있는 알린이라고
써야 하죠
네 Null 터미네이터에 익숙하시다면
fputc 단일 문자를 이용해 명시적으로 작성하시거나 아니면 작성 후에 뉴라인
문자를 추가할 수 있습니다
그래서 뉴라인 캐릭터가 거기 있길 기대하죠
명시적으로 명시해야 해요
이건 코드의 아주 단순한 용어예요
그냥 열라고 하면 돼요
Fpump은 파일 포인터를 이용해 문자열을 작성하죠
또 다른 fput이 복사 문자열을 작성하고 닫죠
네 이 경우엔 문자열 2개를 작성했죠 2줄의 코드요 파일에
2줄이죠 그리고 w+로 파일을 열었어요 독서와
필기용이에요
예제를 쓰는 건 간단해요
몇 가지 함수를 호출하면 되죠 fopen, fpot, 그리고 fclose요
형식화된 출력을 작성하려면 fprintf를 사용할게요
다시요 다시 한 번 scanf를 읽고 입력하고 printf를
하면 함수 전에 fprefix만 추가하면 형식화된 출력을
작성할 수 있어요
fprintf 형식의 출력을 작성하려면 정수를 리턴하죠
네 그 다음이 형식 스펙타이퍼예요 각
형식 지정자에 대해 변수 개수의 인수가 적힌 쉼표가 뒤따릅니다
printf와 같아요 정말로요
함수에 대한 첫 번째 인수는 파일 객체에 대한 포인터예요
두 번째 인수는 istucks 변수 인수의 개수죠
네 C 문자열로 다음 항목들을 포함하고 있습니다
화이트스페이스 문자 A죠 비백색 캐릭터 형식 개요자
printf와 아주 밀접하죠
하지만 파일에 작성하는 거죠
파일에 formattedoutput을 쓸 수 있어요.
성공하면 쓰인 글자 수만큼 반환될 거예요
그렇지 않으면 성공하지
못할 거예요
이렇게 생겼어요
표준 IO 헤더를 포함하죠
파일 포인터를 생성하죠
네 파일 포인터를 이용해 텍스트 파일을 열고 w+를 사용하고 읽고
쓰려면 fprintf라고 입력하세요
이 경우엔 fprintf라고 하죠
네 파일 포인터를 지정하고 있습니다 그리고 빈칸과 %d로
분리된 4개의 문자열을 지정합니다
제 번호는 555예요
그 파일은 작성할 때 데이터 형식을 갖추게 되죠
코드 블록에서 어떻게 생겼는지 보죠
여기엔 코드가 많지 않아요
코드는 몇 줄밖에 없어요
4번 라인에서 파일 포인터를 재생할 거예요
다시 말하지만 이건 null로 공표해야 해요
그리고 6번 줄에 Fopen을 외쳤죠
파일 열기를 누르세요 그렇군요 txt가 존재해야 해요 c
소스 파일이 실행되는 곳이나 수동으로 프로그램을 실행하면
실행 파일이 있는 곳에서요
읽기와 쓰기를 시작할게요
불러온 후에는 파일 포인터가 null이
아닌지 확인해야 하죠
fp는 안 된다고 해야죠
Null이 아니면 데이터를 쓸 수 있죠
이 경우엔 라인 9에서 형식화된 데이터를 작성하죠
네 그래서 뭘 쓰냐면 문자열 하나를 쓰고 문자열
둘 문자열 셋 문자열 넷, 그리고 정수요
다음 매개 변수는 조정이에요 쉼표로 분리된
스트링과 끝에 있는 정수죠
네 큰따옴표를 고쳐야 해요 제대로 안 되거든요 555는
저 끝에 있어요
그럼 파일은 옷장에 보관했다가 반환하죠
네 그럼 이걸 빌드해 실행해보죠 실행에 대한 실제 출력은 보지
않을 거예요
파일이 어떻게 생겼는지 살펴봐야 해요
이 파일을 컴파일할 때 if문이 null과 같지
않다고 나오는지 확인하세요
이걸 실행하면 어떤 결과물도 보이지 않아요
그냥 실행되죠
네 그런 다음 디렉터리 안의 파일을 보면 한 줄에 입력을 담고
있는 걸 알 수 있죠 안녕하세요 제 이름은 fpp이고 555...
그게 형식화된 출력을 작성하는 방법이었어요
아주 간단해요
원하시면 뉴라인도 추가할 수 있어요
끝에 새 라인이 추가되지만 여기에 백슬래시 n을 넣을 수 있어요
printf와 똑같이 작동하죠
그걸 실행해야 해요 파일을 보기 전까진 흥미로운
출력을 볼 수 없죠
그 경우 라인 피드가 보이죠
파일에 출력 작성하는 건 아주 간단해요
네 글자를 쓰고 싶으면 fputc를
쓰죠 strings:futc도 쓰고요 fprintf
네 여러분이 이것에 더 익숙해지도록 도와줄
도전이 좀 있지만 쓰기는 쉬워요 텍스트 파일로 결과물을 보냅니다
고마워요