다시 오신 걸 환영해요
네 이번 강의에서는 파일을 읽는 첫
번째 난제를 시연해 볼게요
fgetc를 사용해 파일 안의 라인을 셀 거예요
코드 블록을 불러오고 프로젝트를 생성하죠
여기서 new project라고 하죠
기본 read align을 할 거예요
네 그래서 콘솔 어플리케이션 c를 선택하고 기본 이름을 짓죠 줄
개수를 세거나요 몇 줄까지 셌을까요?
이것이 생성 메인이 될 거에요. C는 좋은 거죠
네 이 응용 프로그램을 시작하기 전에 하지만 텍스트가 들어 있는 파일을
생성하고 싶어요
글을 쓰는 게 아니라 줄만 읽는 거예요
프로젝트를 어디에 저장했는지 알아야 해요
제 다운로드 디렉터리 안에 제 프로젝트를 저장하고 있어요
새 프로젝트인사이드 다운로드 디렉터리를 생성하면 그 프로젝트
이름으로 가세요
제 프로젝트 이름이 줄 개수예요
count of number ofline 안에 메인 카드가 있어요 c 파일요
이 디렉터리에 파일을 생성할 수 있어요
네 디렉터리 안에서 오른쪽 클릭을 하고 new라고
입력하고 텍스트 파일을 생성합니다
이건 새로운 텍스트 문서예요 테스트가 되겠죠 문자요
열어 볼게요
아무 이디터에서나 열 수 있죠 이건 워드패드예요
안 좋은 선이 생기겠죠
네 이건 회계용 테스트예요 네 일단 줄을 잔뜩 연결하고
저장한 다음 닫는 거죠
이제 파일이 생성됐으니 뭔가 구현하기 시작할 수 있어요
가장 먼저 할 일은 파일 이름을 위한 상수
변수를 생성하는 거죠
정의를 이용할 거예요.
이건 제 파일 이름을 나타내요
네 전 그냥 파일 이름을 모두 대문자로 쓰겠습니다 이건 제가 방금
이름 지은 것과 동일하죠 다시 말해 test입니다 문자 테스트요 문자요
모든 코드가 주요 기능이 될 거예요
파일 포인터를 만들고 싶어요
네 네 파일 포인터 만드는 거 잊지 마세요 모두 대문자로 파일하고 *
다음에 fp라고 하면 돼요
그걸 null로 만들 거예요
파일 읽기와 필기를 할 때는 표준 해방을 꼭
포함해야 해요 H요
사용될 singlecharacter도 생성하도록 하죠
그냥 char라고 할게요 그런 다음 모든 라인에 대한 counter를
생성하죠
int줄 count라고 할게요
0으로 초기화할 거예요
파일을 읽을 때 가장 먼저 할 일은
파일을 여는 거예요
F 열기 함수로 파일 포인터를 반환하죠
네 그걸 fp 변수에 할당하고 f- open이라고
하고 싶어요 제가 이미 정의한 파일 이름은 상수 파일
이름이죠
읽기와 읽기만을 위해 열고 싶으니 그냥 r이라고 할게요
네 여기서 fopen을 파일 이름으로 상수로 하고 큰 따옴표로 r을
합니다 그게 우리 방식이죠
책만 읽고 싶어요
쓰기 싫어요
R+를 받으면 글도 써야 해요
포인터를 사용하기 전에 thepoint는 파일을 나타내요
포인터가 null과 같지 않다는 걸 확인해야죠
그래서 f로 할게요
fp = null이라고 해야죠
그런 다음 null이면 반환 오류를 보여주고 싶어요
Fprintf 파일은 존재하지 않는다 같은 것을 원하는 대로 할
수 있어요.
그럼 이건요?
함수에서 1을 반환하고 싶을 거예요
네 파일을 연 다음에요 이제 문자 읽기를 시작할
수 있어요 while 루프를 쓸 수 있죠 그리고 이러는 거죠 : 문자열인
문자열 동안 = fgetc요
Fgetc가 한 글자를 읽고 있어요
네 파일 포인터를 전달하고 이렇게 말합니다 eof가
보일 때까지 문자를 읽겠습니다
eof와 같지 않을 때까지라고 하죠
그런 다음 루프 밖으로 점프하는 거죠
이제 문자열을 읽어 볼게요. 파일의 끝까지 읽어 볼게요.
캐릭터가 노타 라인 피드인 한 라인 피드가 보일 때만 증가해야죠
그래서 이렇게 할 겁니다 우리 캐릭터가 라인 피드와 같다면 기본적으로 counter를
증가해야죠
행을 세고 플러스플러스라고 하면 행을 셀 거예요
그런 다음 루프에서 나와 파일 끝으로 가죠
하지만 라인 연결을 해야만 Weaccount에 대해 알려드리죠
네 네 자신이 쓴 글을 읽은 후 가장 하기 싫은 일은 파일을
닫는 거죠
파일 포인터에 fclose andthen 패스라고 해야죠
그런 다음 파일 포인터를 null과 동일하게 설정해야죠
그런 다음 우리가 나오는 대사를 프린트할 수 있죠
이렇게 말할 수 있죠 printf: 전체 줄 개수 r %d 백슬래시 n 그런 다음 줄 개수를
입력할 수 있어요
그리고 본체에서 이렇게 돌아와요
다시 다시 한 번 이 코드를 살펴보기 위해 파일 포인터를 생성합니다
null로 설정하고 문자 하나와 줄을 셀 로컬 변수를 생성하죠
12번 줄에서 파일을 열어요
읽기 전용 모드로 열어요
네 null이 아니란 걸 확인한 다음 while 루프를 이용해
파일의 끝까지 각 문자를 읽습니다
라인 피드가 보일 때마다 그 counter를 증가시키죠
그런 다음 파일을 닫고 포인터를 null로 설정해요
그리고 그 줄 개수를 프린트하죠
이걸 만들어보죠
라인 피드가 하나 더 있으니 확인해야죠
printf에 쉼표가 있는 걸 확실히 하고 싶어요
좋아요, 이제 이걸 실행하면 우리가 만든 파일에서 읽어 우리가
가진 라인이 몇 개인지 말해주죠
선의 개수는 총 6개라고 나오네요
네 네 텍스트 파일을 열면 여섯 줄이 보일 거예요 하나 둘
셋 넷 다섯 여섯
7개예요
EOf가 나올 때까지 세라스트를 늘려야 해요
네 여기 약간의 버그가 있는데요 왜냐하면 파일 종료를
누르기 전에 마지막 줄 피드를 하기 때문이죠
네 그래서 이게 하나 더 있어야 해요 그럼 실행하면 실제로 작동하죠
이 경우엔 몇 줄을 추가할 거예요
이 경우에는 둘, 셋, 넷, 다섯 여섯, 일곱, 여덟,
아홉 줄이 필요해요
사건을 종결해야죠
컴파일릿을 다시 실행하면 9개는 나올 거예요
이 경우엔 9개죠
소스 코드를 저장할게요
다운로드할 수 있어요
fgetc를 이용한 파일의 readingdata의 기본이에요
fget로 친숙해지길 원하죠
그런 다음 형식 출력, Fscanf를 이용해 형식화된 출력을 읽을 수 있어요
도움이 됐으면 좋겠네요 고마워요