How to truncate a file from the end? (cross platform)

后端 未结 3 1531
别跟我提以往
别跟我提以往 2021-01-19 18:49

I am trying to find a cross-platform method to delete X bytes from the end of a file.

Currently I have found:

  • Platform specific solutio

3条回答
  •  面向向阳花
    2021-01-19 19:22

    How do you think cross platform functions work? Just make your own function like this:

    int truncate(int fd, long size)
    {
    #ifdef _WIN32 || _WIN64 
        return _chsize(fd, size);
    #else
      #ifdef POSIX
        return ftruncate(fd, size);
      #else
        // code for other OSes
      #endif
    #endif
    }
    

提交回复
热议问题