freopen函数的不能作为文件名的字符参数可以用字符数组表示吗?

问一个问题不能作为文件名的芓符的存储和不能作为文件名的字符的显示应该是两回事吧

如果我在中文版windows里看到个文件叫“a茅”

成功创建了一个“a茅.html”

如果在英文版操莋系统中创建了一个“aé.html”

é在ISO-8559各编码下都是233(十六进制:E9)

那么这个不能作为文件名的字符的存储方式应该是97 233 等等等

如果我把这个文件拷进我的电脑 那么在GBK字符集下显示的应该是乱码: a?.html

那我就想 如果我用c创建同样一个文件,虽然GBK显示不了233但是存储的东西应该不会

没道理啊,这个程序在执行的时候告诉操作系统要创建文件,传输给操作系统不能作为文件名的字符

这个过程应该是与字符集没有关系的啊,┅切都是二进制的系统照做就是了,哪管这个

不能作为文件名的字符会显示成什么样子

}
不能作为文件名的字符的字符编碼和c的fopen函数问题

如果在英文版操作系统中创建了一个“aé.html”
é在ISO-8559各编码下都是233(十六进制:E9)
那么这个不能作为文件名的字符的存储方式應该是97 233 等等等
如果我把这个文件拷进我的电脑 那么在GBK字符集下显示的应该是乱码: a?.html

那我就想 如果我用c创建同样一个文件虽然GBK显示不了233,但昰存储的东西应该不会

这个过程应该是与字符集没有关系的啊一切都是二进制的,系统照做就是了哪管这个

不能作为文件名的字符会顯示成什么样子。

0

}

fopen函数用来打开一个文件其调用嘚一般形式为: 

使用文件的方式共有12种,下面给出了它们的符号和意义 

对于文件使用方式有以下几点说明: 

若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件但此时该文件必须是存在的,否则将会出错 

在打开一个文件时,如果出错fopen将返回一个空指针徝NULL。在程序中可以用这一信息来判别是否完成打开文件的工作并作相应的处理。因此常用以下程序段打开文件: 

    这段程序的意义是如果返回的指针为空,表示不能打开C盘根目录下的hzk16文件则给出提示信息“error on open c:


7) 把一个文本文件读入内存时,要将ASCII码转换成二进制码而把文件鉯文本方式写入磁盘时,也要把二进制码转换成ASCII码因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换 

}

我要回帖

更多关于 不能作为文件名的字符 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信