>  기사  >  백엔드 개발  >  fgets() 함수 - 파일이 가리키는 줄을 읽는 방법에 대한 자세한 설명

fgets() 함수 - 파일이 가리키는 줄을 읽는 방법에 대한 자세한 설명

WBOY
WBOY원래의
2023-06-27 09:06:281376검색

fgets() 함수는 파일이 가리키는 라인을 읽는 데 사용되는 C 표준 라이브러리의 함수 중 하나입니다. 그 특징은 파일 데이터를 한 줄씩 읽을 수 있다는 것입니다. 읽은 데이터는 지정된 버퍼에 저장되며, 최대 읽기 크기입니다. 데이터의 길이를 얻을 수 있습니다. fgets() 함수는 일반적으로 텍스트 파일의 각 줄에 대한 데이터를 읽는 것과 같이 일반 텍스트 파일을 읽는 데 사용됩니다.

fgets() 함수의 구문은 다음과 같습니다.

char *fgets(char *str, int n, FILE *stream)

그 중 str은 읽기 데이터를 저장하기 위해 지정된 버퍼이고, n은 지정된 최대 읽기 데이터의 길이이며, stream은 파일에 대한 포인터입니다. 읽을 수 있습니다. fgets() 함수는 지정된 파일에서 데이터 라인을 읽고 데이터는 버퍼 str에 저장되며 데이터가 읽히지 않거나 오류가 발생하면 NULL이 반환됩니다.

다음은 fgets() 함수를 사용하여 파일이 가리키는 줄을 읽는 방법을 보여주는 샘플 프로그램입니다.

#include <stdio.h>

#define MAX_LEN 100 // 设置最大读取数据的长度

int main(void)
{
    char file_name[100], str[MAX_LEN];
    FILE *fp;

    printf("请输入文件名: ");
    fgets(file_name, sizeof(file_name), stdin);  // 从标准输入读取文件名

    if (fp = fopen(file_name, "r")) // 判断文件是否能够打开
    {
        while (fgets(str, MAX_LEN, fp) != NULL) // 循环读取文件每一行数据
        {
            printf("%s", str); // 输出读取的数据
        }
        fclose(fp); // 关闭文件
    }
    else
    {
        printf("无法打开指定的文件: %s", file_name);
    }

    return 0;
}

위 샘플 프로그램은 사용자가 입력한 파일 이름을 열고 파일에 있는 데이터를 읽습니다. 루프를 실행한 다음 각 라인의 데이터를 출력합니다. 프로그램을 실행한 후 사용자는 읽을 파일 이름만 입력하면 파일의 각 데이터 라인을 출력할 수 있습니다.

간단히 말하면 fgets() 함수를 사용하면 텍스트 파일의 각 데이터 줄을 빠르고 정확하게 읽을 수 있어 파일 처리가 용이해집니다. fgets() 함수 사용 시 버퍼 오버플로 및 파일 닫기 등의 정상적인 작업이 발생하지 않도록 주의하세요.

위 내용은 fgets() 함수 - 파일이 가리키는 줄을 읽는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.