gpt4 book ai didi

c - 为什么我的文件输出是乱码?

转载 作者:行者123 更新时间:2023-12-02 17:53:43 24 4
gpt4 key购买 nike

当我读入一个文件然后输出到一个新文件时,输出是乱码,我正在尝试找出原因。

我正在尝试运行以下代码

#include<stdio.h>
#include<stdlib.h>
int main(int argc ,char *argv[])
{
int c;
FILE *of;
FILE *f;
of=fopen(argv[2],"w");
f=fopen(argv[1],"r");
while(c=getc(f)!=EOF)
putc(c,of);
fclose(of);
fclose(f);
return 0;

}

但是当我按如下方式运行时$./a.out temp new

其中 temp 是一个现有文件,其内容为:这是一个临时文件并且new在运行程序之前不存在

但是现在当我抓取 new 的内容时,一切都变得一团糟,为什么会这样?

最佳答案

while(c=getc(f)!=EOF)

需要括号,

while( (c=getc(f)) != EOF)

!= 的优先级高于赋值 = 的优先级。

关于c - 为什么我的文件输出是乱码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11377865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com