将“const char \*”传递给“char \*”类型的参数会丢弃限定符

新手上路,请多包涵

我收到警告:

miniunz.c:342:25:将“const char *”传递给“char *”类型的参数会丢弃限定符

Zip 存档库 的 miniunz.c 文件中。具体来说:

 const char* write_filename;
fopen(write_filename,"wb"); //// This work fine...........
makedir(write_filename);    //// This line shows warning....

应如何删除此警告以使两者都能正常工作?

原文由 HDdeveloper 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 777
1 个回答

miniunz.c 文件中的 Zip Code

函数定义如下:

 int makedir (newdir)
    char *newdir;

因此,考虑到这一点,有两种方法可以做到这一点。

   char* write_filename;

              fopen((char*)write_filename,"wb");
                 makedir(write_filename);

或者

  const char* write_filename;

              fopen(write_filename,"wb");
                 makedir((char*)write_filename);

或检查您的 makedir() 功能。

希望这会帮助你。

原文由 A B 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题