大头飞飞 2020-09-26 15:23 采纳率: 50%
浏览 164
已采纳

请教各位大神关于C语言fopen()文件打开的问题

问题: 在windows系统命令行中运行编写的程序时,总是提示无法正常打开文件。
程序如下:
//reducto.c
//reduce the original file by 2/3
#include
#include
#include
#define LEN 100

int main (int argc, char *argv [])
{
FILE *in, *out;
int ch;
char name[LEN];
int count = 0;

if (argc < 2)
{
fprintf(stderr, "Usgae: %s filename\n", argv[0]);
exit(EXIT_FAILURE);
}

if ((in = fopen(argv[1], "r")) == NULL)
{
fprintf(stderr, "I couldn't open the file \"%s\"\n", argv[1]);
exit(EXIT_FAILURE);
}

strncpy(name, argv[1], LEN - 5);
name[LEN - 5] = '\0';
strcat(name, " .red");
if ((out = fopen(name, "w")) == NULL)
{
fprintf(stderr,"Can't create output file.\n");
exit(3);
}

while (ch = getc(in) != EOF)
if (count++ % 3 == 0)
putc(ch, out);

if (fclose(in) != 0 || fclose(out) != 0)
fprintf(stderr, "Error in closing files.\n");

return 0;

}

visual stdio项目文件以及文本文件的位置
我将visuastdio 的项目文件以及准备用于打开的文本文件均放在桌面上,如下截图:
图片说明

windows命令行运行的页面以及结果
图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-09-26 15:46
    关注

    看看是不是你的系统隐藏了扩展名,实际上文件名是 exercise.txt.txt

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog