读书人

关于C里文件读取的有关问题以及枚举

发布时间: 2012-02-04 15:43:08 作者: rapoo

关于C里文件读取的问题,以及枚举类型的我问题,帮帮忙吧。
1、 如果输入文件是加密的,那么应该怎么处理?如何用c代码区分一个文件是加密的文件还是不存在的文件?(这里加密指需要输入密码的那种加密)


2、 枚举型是如何占用空间的?它和分别给多个全局变量赋0、1、2、……的值,而后在操作中并不改变它的值有什么区别吗?另外定义了枚举类型之后,可以改变它的值吗?比如说,我在开始定义了
enum example{
NO_ERR,
ERR_OVER,,
ERR_OVER_WRITE,
ERR_FILE_READ,
ERR_WRITE
}
可以在程序中通过语句来改变ERR_OVER_WRITE的值吗?

[解决办法]
enum example{
NO_ERR,
ERR_OVER,,
ERR_OVER_WRITE,
ERR_FILE_READ,
ERR_WRITE
}
定义好了就不能
[解决办法]
1、 如果输入文件是加密的,那么应该怎么处理?如何用c代码区分一个文件是加密的文件还是不存在的文件?(这里加密指需要输入密码的那种加密)

这个我不太懂,我觉得对于c读文件来说,只是读入2进制流,文件是否加密对于c是否能读到文件没什么影响,最多读到的东西是加过密的无法解析.

2、
(1)枚举类型:是某类数据可能取值的集合;

(2)枚举变量:用枚举类型定义的变量。
在功能上来说你可以用别的全局变量赋0、1、2代替,但是不好管理和保证参数的正确性(把枚举类型当成函数的参数). 枚举类型一旦定义好了之后就不能改


[解决办法]
1、 如果输入文件是加密的,那么应该怎么处理?如何用c代码区分一个文件是加密的文件还是不存在的文件?(这里加密指需要输入密码的那种加密)


不存在的文件好判断用access()函数一判断就可以了.但是否是加密的文件就不好判断了.
一般的作法是在文件的开始一些字节做标志,比如记录下有效数据的开始位置,大小,加密方式等等.
----------------------------------------------------------


2、 枚举型是如何占用空间的?它和分别给多个全局变量赋0、1、2、……的值,而后在操作中并不改变它的值有什么区别吗?另外定义了枚举类型之后,可以改变它的值吗?比如说,我在开始定义了
enum example{
NO_ERR,
ERR_OVER,,
ERR_OVER_WRITE,
ERR_FILE_READ,
ERR_WRITE
}
可以在程序中通过语句来改变ERR_OVER_WRITE的值吗?


枚举类型定义好后就没法在改变


[解决办法]
2
枚举通常占 一个int的空间.
不能改变顺序.只是在编译的时候有,编译之后就被替换成int值了.

读书人网 >C语言

热点推荐