牛骨文教育服务平台(让学习变的简单)
博文笔记

c 语言fopen打不开中文名的文件

创建时间:2009-02-11 投稿人: 浏览次数:4794

最近在用C语言对文件进行md5加密的时候,发现凡是有中文名的文件,一律获取md5码失败,不管是在dos下运行,还是在linux,unix下运行都不行。英文名的文件都成功。原因找了很久一直找不到。后来发现在dos 下,和linux,unix下,中文名显示的都是乱码,且程序输出错误errno为2,即找不到文件的错误。因此,可以断定,程序中指定的文件名与系统文件名是不一样的,程序无法找到文件,才会出现如此的错误。 

如果在linux,unix下,只需更改程序中的文件名与系统显示的文件名一致,或者重命名文件。但编辑时必须处于同一系统下。如果被加密的文件(不是指源代码文件)是在windows下编辑的,最好通过ftp的方式传到linux,unix下,这样文件名就不要会因此字符集而显示乱码。

 

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。