C 已找到文件,但名称未更新

C 已找到文件,但名称未更新,c,C,我编写这段代码是为了检查给定的文件名是否为“.jpg”,如果是,则将其更改为“.png”: -1表示出了问题。。。但有什么不对呢 提前谢谢。正如@MarcB所说,如果(答案==-1){fprintf(stderr,%s->%s:%s\n',name,newname,strerror(errno));}#include在这种情况下,请发布显示您尝试过的(包括建议的错误测试)可以复制/粘贴和复制。但即使如此,除非文件首先使用错误的.suffix保存,否则您将使文件无法读取。我猜您试图重命名的文件位于

我编写这段代码是为了检查给定的文件名是否为“.jpg”,如果是,则将其更改为“.png”:

-1
表示出了问题。。。但有什么不对呢


提前谢谢。

正如@MarcB所说,
如果(答案==-1){fprintf(stderr,%s->%s:%s\n',name,newname,strerror(errno));}
#include
在这种情况下,请发布显示您尝试过的(包括建议的错误测试)可以复制/粘贴和复制。但即使如此,除非文件首先使用错误的
.suffix
保存,否则您将使文件无法读取。我猜您试图重命名的文件位于子目录中,由于您只传递文件名,所以您正在工作目录中查找它,而不是它实际所在的位置。
s
未初始化。正如@MarcB所说,
如果(答案==-1){fprintf(stderr,“%s->%s:%s\n”,name,newname,strerror(errno))}
\code>包含
在这种情况下,请发布显示您尝试过的内容(包括建议的错误测试)这是可以复制/粘贴和复制的。但即使这样,除非文件首先使用错误的
。后缀
保存,否则您将使文件无法读取。我猜您试图重命名的文件位于子目录中,并且由于您只传递文件名,所以您在工作目录中查找它,而不是在它的作用位置逻辑是。
s
未初始化。虽然此代码片段可能会解决问题,但确实有助于提高您文章的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。请尽量不要用解释性注释挤满您的代码,this降低了代码和解释的可读性!虽然此代码片段可能会解决问题,但确实有助于提高您文章的质量。请记住,您是在将来为读者回答问题,而那些人可能不知道您的代码建议的原因。同时,请尽量不要将您的代码挤在一起h解释性注释,这降低了代码和解释的可读性!
int n = strlen(name);
if ( n > 4 ) {
   if ( strcmp(&name[n-4], ".jpg") == 0 ) {
      strcpy( &name[n-3], "png";
   }
}
-1: LF1603300450121ARG.png
int n = strlen(name);
if ( n > 4 ) {
   if ( strcmp(&name[n-4], ".jpg") == 0 ) {
      strcpy( &name[n-3], "png";
   }
}