파일 읽기 출력이없는 이유는 무엇입니까?

4thSpace

이진 파일 mydata.dat에 "this is a test"라는 문자열을 작성했습니다. 이것이 파일의 전체 내용입니다. 문자열을 다시 읽고 싶지만 출력이 표시되지 않습니다. 프로그램은 오류없이 실행됩니다. 내가 뭘 잘못하고 있는지 아십니까?

FILE *f = fopen("mydata.dat", "rb");

char content[100];

while(fread(content, sizeof(content), 1, f) == 1){
    printf("%s", content);
}
fclose(f);
스타 게이터

먼저 문자를 읽으려면 fgets(). 정말로 fread().

fread()읽은 항목 수 반환하므로 귀하의 경우에는 0. fread()100 바이트의 요소 1 개를 읽 도록 요청하기 때문에 ... 0파일이 100 바이트 미만인 경우 항상을 반환 합니다. 요소의 크기와 요소 수를 바꿨습니다.

또한 배열이 유효한 C 문자열이되도록하려면 끝에 NULL 종료 자 바이트를 넣어야합니다. 때문에 fread()당신을 위해 그것을 할 수 없습니다.

예:

#include <stdio.h>

int main(void) {
  FILE *f = fopen("mydata.dat", "rb");

  if (f == NULL) { // Error check
    perror("fopen()");
    return 1;
  }

  char content[100];
  size_t ret;

  // We loop on the file to read 99 bytes at each loop
  // sizeof *content is the size of an element of content
  while ((ret = fread(content, sizeof *content, sizeof content - 1, f)) > 0) {
    content[ret] = '\0'; // We use ret to nul terminate our string
    printf("%s", content);
    fflush(stdout); // flush the standard output
  }

  fclose(f);
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

읽기 전용 파일을 읽을 수없는 이유는 무엇입니까?

분류에서Dev

exec 찾기-{}를 출력 파일 이름으로 사용할 수없는 이유는 무엇입니까?

분류에서Dev

기존 파일이없는 이유는 무엇입니까?

분류에서Dev

grep이 입력 파일 크기에 따라 다른 출력을 표시하는 이유는 무엇입니까?

분류에서Dev

파일 읽기 기능이 홀수 행만 읽는 이유는 무엇입니까?

분류에서Dev

"/etc/fstab.d/"에 읽기 파일을 마운트 할 수없는 이유는 무엇입니까?

분류에서Dev

사용자가 읽기 전용 텍스트 파일을 열 수없는 이유는 무엇입니까?

분류에서Dev

읽기 전용 .dtsx 파일의 작업을 열 수없는 이유는 무엇입니까?

분류에서Dev

내 출력 파일의 크기가 원본 파일보다 작은 이유는 무엇입니까?

분류에서Dev

파티션 크기와 df 출력이 다른 이유는 무엇입니까?

분류에서Dev

업데이트 후 파일 시스템이 읽기 전용으로 바뀌는 이유는 무엇입니까?

분류에서Dev

tr 명령이 파일에서 읽지 않는 이유는 무엇입니까?

분류에서Dev

git이 추가 된 파일을 읽지 않는 이유는 무엇입니까?

분류에서Dev

내 / etc / hosts 파일이 읽히지 않는 이유는 무엇입니까?

분류에서Dev

버퍼없이 파일을 읽는 것이 그렇게 비싸게 만드는 이유는 무엇입니까?

분류에서Dev

읽기 전용 파일 시스템의 SHA512 해시가 변경되는 이유는 무엇입니까?

분류에서Dev

읽기 전용 파일 시스템의 SHA512 해시가 변경되는 이유는 무엇입니까?

분류에서Dev

읽기 전용 폴더에 파일을 쓸 수있는 이유는 무엇입니까?

분류에서Dev

읽기 전용 파일을 수정할 수있는 이유는 무엇입니까?

분류에서Dev

내 파일 시스템이 읽기 전용으로 마운트 된 이유는 무엇입니까?

분류에서Dev

내 파일 시스템이 읽기 전용으로 마운트 된 이유는 무엇입니까?

분류에서Dev

Python : 파일을 읽고 다른 파일에 쓴 후 파일이 비어있는 이유는 무엇입니까?

분류에서Dev

파일에 캐리지 리턴이 포함 된 경우 grep이 예기치 않은 출력을 출력하는 이유는 무엇입니까?

분류에서Dev

fgets ()가 전체 파일을 읽지 않는 이유는 무엇입니까?

분류에서Dev

Reducer가 파일을 읽지 못하는 이유는 무엇입니까?

분류에서Dev

tcpdump 출력 파일이 비어있는 이유는 무엇입니까?

분류에서Dev

Powershell cat 명령-출력 파일 크기가 입력 파일 크기의 합계보다 훨씬 큰 이유는 무엇입니까?

분류에서Dev

여기서 C ++ 입력 파일 스트림이 두 번 확인되는 이유는 무엇입니까?

분류에서Dev

파일이 예기치 않게 변경되는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    읽기 전용 파일을 읽을 수없는 이유는 무엇입니까?

  2. 2

    exec 찾기-{}를 출력 파일 이름으로 사용할 수없는 이유는 무엇입니까?

  3. 3

    기존 파일이없는 이유는 무엇입니까?

  4. 4

    grep이 입력 파일 크기에 따라 다른 출력을 표시하는 이유는 무엇입니까?

  5. 5

    파일 읽기 기능이 홀수 행만 읽는 이유는 무엇입니까?

  6. 6

    "/etc/fstab.d/"에 읽기 파일을 마운트 할 수없는 이유는 무엇입니까?

  7. 7

    사용자가 읽기 전용 텍스트 파일을 열 수없는 이유는 무엇입니까?

  8. 8

    읽기 전용 .dtsx 파일의 작업을 열 수없는 이유는 무엇입니까?

  9. 9

    내 출력 파일의 크기가 원본 파일보다 작은 이유는 무엇입니까?

  10. 10

    파티션 크기와 df 출력이 다른 이유는 무엇입니까?

  11. 11

    업데이트 후 파일 시스템이 읽기 전용으로 바뀌는 이유는 무엇입니까?

  12. 12

    tr 명령이 파일에서 읽지 않는 이유는 무엇입니까?

  13. 13

    git이 추가 된 파일을 읽지 않는 이유는 무엇입니까?

  14. 14

    내 / etc / hosts 파일이 읽히지 않는 이유는 무엇입니까?

  15. 15

    버퍼없이 파일을 읽는 것이 그렇게 비싸게 만드는 이유는 무엇입니까?

  16. 16

    읽기 전용 파일 시스템의 SHA512 해시가 변경되는 이유는 무엇입니까?

  17. 17

    읽기 전용 파일 시스템의 SHA512 해시가 변경되는 이유는 무엇입니까?

  18. 18

    읽기 전용 폴더에 파일을 쓸 수있는 이유는 무엇입니까?

  19. 19

    읽기 전용 파일을 수정할 수있는 이유는 무엇입니까?

  20. 20

    내 파일 시스템이 읽기 전용으로 마운트 된 이유는 무엇입니까?

  21. 21

    내 파일 시스템이 읽기 전용으로 마운트 된 이유는 무엇입니까?

  22. 22

    Python : 파일을 읽고 다른 파일에 쓴 후 파일이 비어있는 이유는 무엇입니까?

  23. 23

    파일에 캐리지 리턴이 포함 된 경우 grep이 예기치 않은 출력을 출력하는 이유는 무엇입니까?

  24. 24

    fgets ()가 전체 파일을 읽지 않는 이유는 무엇입니까?

  25. 25

    Reducer가 파일을 읽지 못하는 이유는 무엇입니까?

  26. 26

    tcpdump 출력 파일이 비어있는 이유는 무엇입니까?

  27. 27

    Powershell cat 명령-출력 파일 크기가 입력 파일 크기의 합계보다 훨씬 큰 이유는 무엇입니까?

  28. 28

    여기서 C ++ 입력 파일 스트림이 두 번 확인되는 이유는 무엇입니까?

  29. 29

    파일이 예기치 않게 변경되는 이유는 무엇입니까?

뜨겁다태그

보관