파일 스트림이 C이고 파일을 반복하지 않고 얼마나 많은 행이 있는지 알고 싶습니다. 각 줄은 같은 길이입니다. 어떻게이 일을 할 수 있을까요?c 파일 스트림의 행 수
0
A
답변
3
이런 일에 대해 어떻게 :
- 는
fgets
를 수행 한 라인fseek
및ftell
fseek(fp, 0, SEEK_END); size = ftell(fp);
나누기를 사용하여 파일의 크기를 찾기
얼마나 오래 알아 줄의 크기에 따라
off_t
과 호환되는 fseeko
및 ftello
을 사용할 수도 있습니다.
0
한 줄로 stat()
파일을 읽고 get the total size으로 파일의 전체 크기를 첫 번째 줄의 길이로 나눕니다.
stat()
을 사용하는 대신 파일 끝에 fseek()
을 입력 한 다음 ftell()
을 사용하여 크기를 확인할 수도 있습니다.
0
ftell()
을 가져 와서 줄의 길이로 나눕니다.
2
모든 행의 길이가 같다고 가정하는 것이 안전하면 첫 번째 행을 읽고 길이를 얻은 다음 파일 크기를 얻고 파일 길이를 줄 길이로 나누면됩니다.
고정 너비 인코딩 (ASCII-7, 다양한 8 비트 ANSI 인코딩, UTF-32)에서만 작동합니다. 가변 길이 인코딩 (예 : UTF-8)을 사용하면 문자열 길이가 반드시 바이트 수에 비례하지 않기 때문에 전체 파일을 스캔해야합니다.
관련 문제
- 1. 입력 스트림의 C++ 매개 변수
- 2. 스트림의 기본 파일 핸들을 얻는 방법은 무엇입니까?
- 3. Windows 7에서 파일 스트림의 동작이 변경 되었습니까?
- 4. Java : 입력 스트림의 큰 파일 처리
- 5. 목록 상자에서 행 수 (파일 수) 항목
- 6. C++ 문자열 스트림의 끝을 얻는 방법?
- 7. 테이블 행 수 얻기 C#
- 8. Sqlite3 C API 행 수
- 9. 명령 행 인수 및 파일 입력 C
- 10. C++에서 출력 스트림의 오른쪽 정렬
- 11. 파일 및 행 번호
- 12. 오디오 스트림의 스크린 샷을 찍으십시오.
- 13. 기본 스트림의 처리를 피하십시오.
- 14. 스트림의 장점/단점
- 15. Honeycomb에서 음악 스트림의 볼륨을 높일 수 없으며
- 16. youtube 라이브 스트림의 현재 시청자 수 확보
- 17. 스트림의 불완전한 데이터
- 18. C에서 FLV 스트림의 오디오 추출 #
- 19. 스트림의 끝을 감지하는 방법은 무엇입니까?
- 20. 스트림의 단어 계산하기
- 21. AudioTrack 스트림의 알림 메시지
- 22. 스칼라에서 스트림의 사용 사례
- 23. 스트림의 이야기는이 응용 프로그램
- 24. RSS 스트림의 애드 센스
- 25. 스트림의 상태를 리셋
- 26. 비트 스트림의 비트 순서
- 27. 그렙 - 행 번호와 파일
- 28. 네트워크 스트림의 추가 바이트
- 29. iPhone에서 스트림의 ID3 태그를 가져옵니다.
- 30. MPEG4 스트림의 모션 벡터 및 DC 계수
실제로'stat' (또는 실제로'fstat')도 사용 하겠지만 이식성이 없습니다. –