텍스트 파일에 특정 줄을 덮어 쓰나요?
-
11-09-2019 - |
문제
c?의 텍스트 파일에 특정 줄을 덮어 쓰는 방법은 어떻게하나요? 파일에 작성 해야하는 여러 변수의 값이 있습니다.
해결책
이것은 새 선이 이전 라인과 같은 크기를 가질 때만 작동합니다.
- 모드에서 파일을 엽니 다
a+
fseek()
파일의 시작에- 다음 줄을 읽기 전에 사용하십시오
ftell()
라인의 시작에 주목합니다 - 줄을 읽으십시오
- 원하는 라인이라면
fseek()
다시 결과와 함께ftell()
그리고 사용fwrite()
그것을 덮어 쓰기.
줄의 길이가 변경되면 파일을 복사해야합니다.
다른 팁
파일 (C의 표준 라이브러리의 관점에서)은 라인 지향적이지 않지만 일련의 문자 (또는 이진 모드의 바이트) 일 뿐이므로 쉽게 편집 할 수 없습니다.
Aaron이 설명했듯이, 대체품이 동일한 문자 수 인 경우 라인을 구성하는 캐릭터를 대체 할 수 있습니다.
또한 끝에 공백으로 패딩하여 (라인 터미네이터 앞) 더 짧은 교체를 삽입 할 수도 있습니다. 물론 약간 조잡합니다.
제휴하지 않습니다 StackOverflow