C에서 텍스트 파일을 읽고 모든 문자열을 인쇄하는 방법

Ceseo Tegseuteu Pail Eul Ilg Go Modeun Munjayeol Eul Inswaehaneun Bangbeob



텍스트 파일 읽기 및 모두 인쇄 문자열 C 프로그래머가 자주 수행하는 핵심 작업입니다. 의 기초를 이해하는 것이 중요합니다. 독서 텍스트 파일 C에서 어떻게 인쇄 그만큼 문자열 이 작업을 시도하기 전에 그것에서.

텍스트 파일 읽기 및 포함된 모든 문자열 인쇄는 이 기사에서 C 프로그래밍을 사용하여 설명합니다.







텍스트 파일 읽기 및 C의 모든 문자열 인쇄

C에서 텍스트 파일을 읽고 모든 문자열을 출력하는 함수는 다음과 같이 4가지가 있습니다.



방법 1: fread() 함수

데이터는 파일에서 읽기 C 함수를 사용하여 버퍼에 저장 프레드() . 배열 버퍼의 요소를 계산하려면 프레드() 메소드는 함수 매개변수로 제공된 입력 스트림에서 읽습니다. 각 문자 함수가 읽을 때 지정된 입력 스트림에 대한 파일 위치 표시기가 앞으로 이동합니다.



그만큼 프레드() C의 메서드에는 구문이 있습니다.





size_t fread ( 무효의 * array_buffer, size_t 크기 , size_t 카운트, 파일 * 파일 스트림 )

fread() 함수 매개변수를 자세히 살펴보겠습니다.



배열 버퍼: 데이터는 컴퓨터의 메모리 공간인 버퍼에 일시적으로 보관됩니다. 이 인수는 데이터를 포함할 버퍼의 메모리 위치를 참조하는 포인터입니다. 읽다 입력 스트림에서.

크기: 이 인수는 각 블록의 입력 스트림에서 읽을 데이터 바이트 수를 함수에 지시합니다.

세다: 데이터 입력 스트림에서 읽을 문자 수를 지정합니다.

파일 스트림: FILE 개체를 참조하는 포인터입니다.

#include
#include
정수 메인 ( ) {
파일 * 파일 ;
문자 버퍼 [ 100 ] ;
파일 = 포펜 ( 'C_파일.txt' , '아르 자형' ) ;
만약에 ( 파일 == NULL ) {
printf ( '오류: 파일을 열 수 없습니다. \N ' ) ;
반품 1 ;
}
정수 세다 =빵 ( & 버퍼, 크기 ( ) , 100 , 파일 ) ;
fclose ( 파일 ) ;
printf ( '파일에서 읽은 데이터: %s \N ' , 버퍼 ) ;
printf ( '읽은 요소 수: %d' , 세다 ) ;
fclose ( 파일 ) ;
반품 0 ;
}

이 예에서는 크기의 문자 배열 버퍼를 정의합니다. 100 사용하기 전에 fopen() 텍스트 파일을 열려면 C_파일.txt 읽기 모드에서. if 문을 사용하여 파일이 성공적으로 열렸는지 확인합니다. 다음 단계는 최대 읽기입니다. 100 사용하는 파일의 데이터 바이트 프레드() . 대상 버퍼(이 경우 버퍼 배열)는 첫 번째 매개변수입니다. fread(). 두 번째 주장, 크기 , 문자로 읽을 때 읽을 각 항목의 크기를 결정합니다. . 세 번째 입력은 읽을 양이며 이 경우에는 다음과 같습니다. 100 . 그만큼 파일 포인터 네 번째 매개변수입니다. 마지막으로 우리는 프린트에프() 파일에서 읽은 데이터를 인쇄하고 닫기() 파일을 닫습니다. 이 프로그램을 실행하면 다음과 같은 결과가 나타납니다. C_파일.txt :

산출

방법 2: fgets() 함수

C언어의 fgets() 메서드는 스트림에서 문자열 str로 n자를 읽습니다. 그만큼 fgets() 메서드는 때까지 스트림에서 문자를 계속 읽습니다. (n-1) 문자를 읽었거나 개행 문자가 감지되었거나 파일의 끝(EOF)에 도달했습니다.

#include
정수 메인 ( ) {
파일 * 파일 ;
문자 버퍼 [ 100 ] ;
파일 = 포펜 ( 'C_파일.txt' , '아르 자형' ) ;
만약에 ( 파일 == NULL ) {
printf ( '오류: 파일을 열 수 없습니다. \N ' ) ;
반품 1 ;
}
~하는 동안 ( fgets ( 완충기, 100 , 파일 ) ) {
printf ( '파일에서 읽은 문자열: %s' , 버퍼 ) ;
}
fclose ( 파일 ) ;
반품 0 ;
}

이 예제는 fopen() 라는 텍스트 파일을 열려면 C_파일.txt 크기의 문자 배열 버퍼를 먼저 선언한 후 읽기 모드에서 100 . if 문을 사용하여 파일이 성공적으로 열렸는지 확인합니다. 그 후 우리는 while 루프를 사용하고 fgets() 파일 포인터를 사용하여 파일에서 텍스트 줄을 읽습니다. 사용 프린트에프() 루프 내에서 각 텍스트 줄을 인쇄합니다. 이 프로그램을 실행하면 다음과 같은 출력이 제공됩니다.

산출

방법 3: fscanf() 함수

라는 표준 라이브러리 메서드 fscanf() 매개 변수 배열을 수락하고 응용 프로그램에서 사용할 수 있는 값으로 변환합니다. 하는 동안 파일에서 읽기 , 내부에서 볼 것으로 예상되는 모든 대신 형식 문자열을 반환합니다. 소프트웨어가 자체 구문의 일부로 형식 문자열을 해석하지 못하도록 하려면 따옴표로 묶어야 합니다. ('').

#include
정수 메인 ( ) {
파일 * 파일 ;
int num1, num2, num3;
파일 = 포펜 ( 'C_파일.txt' , '아르 자형' ) ;
만약에 ( 파일 == NULL ) {
printf ( '오류: 파일을 열 수 없습니다. \N ' ) ;
반품 1 ;
}
fscanf ( 파일 , '%d %d %d' , & 번호 1, & 숫자 2, & 3번 ) ;
printf ( '파일에서 읽은 숫자: %d, %d, %d \N ' , 숫자1, 숫자2, 숫자3 ) ;
fclose ( 파일 ) ;
반품 0 ;
}

이 예는 파일을 엽니다 C_파일.txt 먼저 3개의 int 변수, num1, num2 및 num3을 선언하여 읽기 모드에서. if 문을 사용하여 파일이 성공적으로 열렸는지 확인합니다. 다음 단계는 다음을 사용하여 파일에서 세 개의 숫자를 읽는 것입니다. fscanf() 그리고 %디 형식 지정자. 변수 num1, num2 및 num3은 값이 유지되는 위치입니다. 마지막으로 우리는 프린트에프() 이러한 변수의 값을 출력하고 닫기() 파일을 닫습니다. 이 프로그램을 실행하면 아래와 같은 결과가 나타납니다.

산출

방법 4: fgetc() 함수

파일은 읽다 를 사용하여 문자별로 fgetc() 기능. 이 함수가 읽는 문자의 ASCII 코드가 이 함수에 의해 반환됩니다. 파일 포인터의 지정된 위치에서 문자가 반환됩니다. 파일 포인터에 따라 문자가 읽히면 다음 문자를 읽습니다. 이 메서드는 포인터가 파일 끝에 있거나 문제가 있는 경우 EOF 파일을 반환합니다.

#include
정수 메인 ( ) {
파일 * 파일 ;
문자 c;
파일 = 포펜 ( 'C_파일.txt' , '아르 자형' ) ;
만약에 ( 파일 == NULL ) {
printf ( '오류: 파일을 열 수 없습니다. \N ' ) ;
반품 1 ;
}
~하는 동안 ( ( 씨 = fgetc ( 파일 ) ) ! = EOF ) {
printf ( '%씨' , 씨 ) ;
}
fclose ( 파일 ) ;
반품 0 ;
}

이 경우, 우리는 fopen() 텍스트 파일을 여는 명령 C_파일.txt 읽기 모드에서. if 문을 사용하여 파일이 성공적으로 열렸는지 확인합니다. 그 후 우리는 while 루프를 사용하고 fgetc() 파일에서 문자를 읽습니다. 파일에서 받은 문자를 변수에 할당 다음을 사용하여 인쇄하기 전에 루프 내부 프린트에프(). 루프는 다음이 될 때까지 계속 실행됩니다. EOF (End of File) 상수는 파일의 끝을 감지합니다. 이 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다. C_파일.txt 단어를 포함 '리눅신트'.

산출

결론

위에서 설명한 단계를 사용하여 C를 사용하여 다음을 수행할 수 있습니다. 텍스트 파일 읽기 그리고 모든 문자열을 출력 그것은 포함합니다. 다음을 사용하여 시작합니다. fopen() 파일을 여는 시스템 호출 다음에 사용 fscanf(), fread(), fgets(), fgetc() 데이터를 읽을 수 있습니다. 그런 다음 다음을 사용하여 파일을 닫습니다. 닫기() for 루프는 문자열을 인쇄하는 데 사용됩니다. 이러한 기술을 사용하면 C를 사용하여 효율적인 방식으로 데이터를 읽고 인쇄할 수 있습니다.