我想更改以前创建的* .txt文件的大小。为此,我使用chsize
。
代码:
#include <iostream>
#include <stdio.h>
#include <io.h>
using namespace std;
int main()
{
FILE *wfile;
wfile = fopen("test.exe", "a");
chsize(wfile, 1024); //error is here
file.close();
return 0;
}
这就是错误:
[错误]来自&#39; FILE * {aka _iobuf *}&#39;的无效转换到&#39; int&#39; [-fpermissive]
问:这里有什么问题?我用fopen
打开了文件,正如它在互联网中解释的那样。
Q2:我喜欢Windows作为操作系统,但我不想学习Windows API for C ++或类似的东西。有没有选择使用便携式的东西?
答案 0 :(得分:3)
chsize的第一个参数是文件描述符而不是FILE *。
您可以使用&#34; fileno&#34;。
How can I convert a file pointer ( FILE* fp ) to a file descriptor (int fd)?