2014-10-31 1 views
-1

C 코드에서 즉석에서 '파일 크기'변경하는 방법 :/가짜 내가 FUSE를 사용하여 사용자 수준의 파일 시스템에 일하고 내 요구 사항이다

내가 File A에 대한 읽기 교부
  • , 내가 원하는을 다른 파일 (예 : File B)의 내용을 덧붙여 File B의 내용을 File A의 내용으로 제시하십시오.
  • 내 퓨즈에서 캡쳐하고 File B을 읽고 버퍼 내용을 File A에 전달 된 버퍼에 복사하고 File A에 대한 실제 읽기를 수행하지 않음으로써 버퍼 수정으로 이미 달성했습니다. 따라서 File A 호출은 File B의 내용을 해당 버퍼에 복사하여 호출을 반환합니다.
  • 또한 File AFile B에 비해 작은 크기입니다.
디버거를 사용하여 선택하면, File A 버퍼의 내용을 잘 살펴

File A을 위해, 나는 File A '으로 만 많은 문자를 볼 수 있어요 (File B 내용의 전체를 포함) 만 표시됩니다 때 (Vi 말할) 크기가 더 많으므로 File A (File B 데이터 복사)에 반환 된 버퍼가 더 많이 표시 되더라도 전체 데이터가 표시되지 않습니다. 이는 File A의 파일 크기가 문자 수에 도달하면 File A 크기가 작아지고 표시가 종료되기 때문입니다.

나는 struct stat을 조사해 보았지만, File A의 크기가 File B에 비해 작은 것을 보여주는 읽기 전용입니다.

struct stat stat1; 
stat(fileA, &stat1); 

그래서, 내 질문은 가짜 I을 어떻게 ( File B 더 큰 때문에 겹쳐있어) 데이터를 전체 표시 할 수 있도록 /, 온 - 더 - 플라이 File A의 크기를 변경할 수 있다는 것입니다.

답변

0

많은 응용 프로그램에서 파일을 읽기 전에 파일 크기를 요청한 다음보고 된 데이터 양만 읽기 때문에이 작업을 수행 할 수 없습니다.

관련 문제