社区
C语言
帖子详情
用fopen怎么打不开中文文件??
mousefather
2003-10-20 04:57:21
我要做一个在纯dos下运行的程序,需要对每个目录下的文件进行一些操作,但是这些文件有用中文命名的,在dos下用dir看是乱码,我用findfirst和findnext可以找到那些乱码的件名,但是我用fopen打开这些乱码文件名时就出错,不知道有没人做过这方面的研究?
...全文
696
13
打赏
收藏
用fopen怎么打不开中文文件??
我要做一个在纯dos下运行的程序,需要对每个目录下的文件进行一些操作,但是这些文件有用中文命名的,在dos下用dir看是乱码,我用findfirst和findnext可以找到那些乱码的件名,但是我用fopen打开这些乱码文件名时就出错,不知道有没人做过这方面的研究?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mousefather
2003-10-21
打赏
举报
回复
那些杀毒工具好像都可以,大家有没用过dos下的杀毒工具,如果你的文件是中文的,在它杀毒的时候显示的是一堆乱码,但是它照样能杀,不知道他是怎么实现的
mousefather
2003-10-21
打赏
举报
回复
我在windows在编辑一个文件,大概是这样的:
FILE *fp;
fp=fopen("啊.txt","rb");
printf("%p\n",fp);
再用tc打开编译生产exe文件
在windows下打的开,打印的是一个地址,而如果我把这个程序在dos在运行,打印的就是空指针,说明在dos下打不开这个文件!
请高手解释一下
kisa99
2003-10-21
打赏
举报
回复
在dos下先运行pdos95.看有用不,我也没试过。
wxw20032004
2003-10-21
打赏
举报
回复
蛮难的,我再想想....
bestfyj
2003-10-21
打赏
举报
回复
建议你不要着急,逐步跟踪,找到问题的根源
mousefather
2003-10-21
打赏
举报
回复
里面是对这个文件打开然后做一些计算,如果是英文的一点问题都没有,但是如果是中文文件在fopen的时候就出错
MDFILE这个函数非常复杂,是作一个MD5算法,但是第一步是fopen这个文件,在第一步就出错了,应该问题是出在fopen上
mfc168
2003-10-21
打赏
举报
回复
你的MDFile这个函数内容是什么?问题一定就在里面!
mousefather
2003-10-21
打赏
举报
回复
不是长度问题,我的文件名是“啊.txt",指针应该也没问题,因为如果是英文名的文件都可以打开
if(findfirst(filetype,&c_file,FA_DIREC|FA_HIDDEN|FA_RDONLY|FA_SYSTEM|FA_ARCH)== -1L )
printf( "No files this directory!\n" );
else
{
do
{
if(((c_file.ff_attrib&0x10)==0x10)&&(c_file.ff_name[0]!='.')){
//if (((c_file.ff_attrib==FA_DIREC)) &&(c_file.ff_name[0]!='.')) {
//if(c_file.ff_name[0]=='.'&&c_file.ff_name[1]=='.'){
if(chdir(c_file.ff_name)==0)
{
findfile("*.*");
chdir("..");
}
else
fprintf(probfile,"%s->%s\n", pathname,c_file.ff_name);
}
else
{
if (pathname[strlen(pathname)-1]=='\\')
sprintf(filename,"%s%s",pathname,c_file.ff_name);
else
sprintf(filename,"%s%s%s",pathname,"\\",c_file.ff_name);
if ((c_file.ff_name[0]!='.') && (!strstr(outfilename,c_file.ff_name))) {
md5digest=MDFile(c_file.ff_name);//这里对文件进行打开等一些操作,如果是英文文件没有问题,如果是中文就答不开了
fprintf(outfile,"\"%s\", %s\n",filename,md5digest);
printf("Examining: %s, %s\n",filename,md5digest);
}
}
} while(findnext(&c_file ) == 0 );
}
Caoyu015
2003-10-20
打赏
举报
回复
可能是文件名称长度有问题.
lpclpc
2003-10-20
打赏
举报
回复
乱码的文件名??
能否贴个代码?
allen1981813
2003-10-20
打赏
举报
回复
指针用的对吗?
mousefather
2003-10-20
打赏
举报
回复
是啊,我都可以把它打印出来,但是用fopen就是打不开
sandra423
2003-10-20
打赏
举报
回复
你得到的文件名是乱码吗?
PHP
fopen
中文
文件
名乱码问题解决方案
一般在php中会使用
fopen
进行生成
文件
,但是当
文件
名存在
中文
时保存
文件
会出现
中文
乱码。 源代码: <?php $fileName = __DIR__ . '\测试.txt'; $fp =
fopen
($fileName, 'w'); fwrite($fp, '这是
中文
内容'...
浅谈php中
fopen
不能创建
中文
文件
名
文件
的问题
之前网页的chartset用的是utf-8,
文件
也用utf-8,然后用
fopen
()创建一个
中文
文件
名的
文件
时问题就出来了,
文件
名都是乱 码! 查看了很多文档试了不少方法都解决不了,本来想着用别的方法绕过这个问题,忽然...
原创matlab读取txt
中文
文本的解决方案-程序.rar
这个问题是在本论坛中的GUI教学视频第5课中提到的,学生的成绩单必须要转换成英文 数字才能正常读入,我用的是
中文
系统,用
fopen
试了一下,结果读出的
中文
是'???'样的乱码。不多废话,还是用本课视频的例子,为了...
PHP
fopen
读取带
中文
URL地址的一点见解
之前喜欢用
fopen
()函数跨域读取图片或其它
文件
,一直都没发现什么问题。我所用的PHP版本都是5的了,应该不会有CRLF Injection攻击危险吧
读取TXT
文件
程序C++
读取TXT
文件
程序(读取汉字,数字,字符,字母) C++
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章