문제

c?의 텍스트 파일에 특정 줄을 덮어 쓰는 방법은 어떻게하나요? 파일에 작성 해야하는 여러 변수의 값이 있습니다.

도움이 되었습니까?

해결책

이것은 새 선이 이전 라인과 같은 크기를 가질 때만 작동합니다.

  • 모드에서 파일을 엽니 다 a+
  • fseek() 파일의 시작에
  • 다음 줄을 읽기 전에 사용하십시오 ftell() 라인의 시작에 주목합니다
  • 줄을 읽으십시오
  • 원하는 라인이라면 fseek() 다시 결과와 함께 ftell() 그리고 사용 fwrite() 그것을 덮어 쓰기.

줄의 길이가 변경되면 파일을 복사해야합니다.

다른 팁

파일 (C의 표준 라이브러리의 관점에서)은 라인 지향적이지 않지만 일련의 문자 (또는 이진 모드의 바이트) 일 뿐이므로 쉽게 편집 할 수 없습니다.

Aaron이 설명했듯이, 대체품이 동일한 문자 수 인 경우 라인을 구성하는 캐릭터를 대체 할 수 있습니다.

또한 끝에 공백으로 패딩하여 (라인 터미네이터 앞) 더 짧은 교체를 삽입 할 수도 있습니다. 물론 약간 조잡합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top