我一直在尝试同时读写文件,并且我正在尝试将text.txt的所有制表符替换为空格。这是我的代码:
int main()
{
FILE* filePtr = fopen("text.txt", "w+");
char c;
c = fgetc(filePtr);
fpos_t num;
while(c != EOF)
{
if(c == '\t')
{
fgetpos(filePtr, &num);
num--;
fsetpos(filePtr, &num);
fputc(' ', filePtr);
}
c = fgetc(filePtr);
}
}
text.txt的内容如下:
嗨\t我的\t名字\t是\t杰克!
当我运行这段代码时,文本文件中的输出只有空格。没有任何字符。我该怎么做才能使替换按预期工作?
fpos_t num
进行递减操作吗?它不是一个结构体吗?如果是的话,你应该阅读文档 :) - Amina