[C언어 소스] 라인 번호와 함께 파일 내용 출력
//라인 번호와 함께 파일 내용 출력
#include <stdio.h>
#include <stdlib.h>
void ReadAndPrint(const char *fname);
int main(void)
{
char fname[200];
printf("파일 이름: ");
//공백을 포함한 파일 이름 입력할 때 gets_s(fname,sizeof(fname));
scanf_s("%s",fname,sizeof(fname));
ReadAndPrint(fname);
return 0;
}
int Distinction(char ch);
void ReadAndPrint(const char *fname)
{
FILE *fp;
char buf[4096];
int line=0;
//fp = fopen(fname,"r")과 fopen_s(&fp,fname,"r")는 같은 기능 수행
fopen_s(&fp,fname,"r");//읽기 모드로 파일 열기
if(fp == NULL)
{
perror("파일 열기 실패");//에러 출력
exit(0); //프로그램 종료
}
while(!feof(fp))//파일의 끝을 만나지 않았다면 반복
{
line++;
fgets(buf,sizeof(buf),fp);
printf("%3d: %s",line,buf);//하나의 문자를 읽어와서 콘솔 화면에 출력
}
fclose(fp);//파일 스트림 닫기
printf("\n라인 수:%d\n",line);
}
input.txt 파일 내용
1234567890
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
안녕하세요.
This is a test.
'언어 자료구조 알고리즘 > C언어 예제' 카테고리의 다른 글
[C언어 소스] 두 점 사이의 거리 구하기 (0) | 2016.04.03 |
---|---|
[C언어 소스] 회원 구조체 배열을 파일에 출력 및 로딩 (0) | 2016.04.03 |
[C언어 소스] input.txt 파일의 내용을 라인 번호와 함께 output.txt파일에 출력 (0) | 2016.04.03 |
[C언어 소스] 회원 배열의 데이터를 파일에 출력 (0) | 2016.04.03 |
[C언어 소스] 번호,이름,주소를 파일에 출력 (0) | 2016.04.03 |
[C언어 소스] 파일 읽기 isupper,islower,isdigit 함수 사용 (0) | 2016.04.03 |
[C언어 소스] 파일의 소문자, 대문자, 숫자문자, 공백, 라인, 기타문자 개수 출력 (0) | 2016.04.03 |
[C언어 소스] 파일 이름을 입력받아 파일 내용을 콘솔 화면에 출력 (3) | 2016.04.03 |
[C언어 소스] 부분 문자열 복사, 버퍼 오버플로우 방지 (0) | 2016.04.03 |
[C언어 소스] 부분 문자열 복사 함수 (0) | 2016.04.03 |