还有就是 如果在C++的 student类中 fwrite()函数的参数是什么样的?
我用的Redhat、可以直接看函数的man page,就知道函数的参数和使用说明,以及使用注意。
给你找了一个fprintf的man page : http://os.51cto.com/art/201108/286657.htm。
你以后可以搜索man page。
这里简介一下 :
int fprintf(FILE * stream, const char * format, …);
--> 将内容打印输出到指定的文件中,就是比printf多一个FILE*参数而已,其他基本一样。
fwrite和fread的man page差不多 :
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void * ptr, size_t size, size_t nmemb,FILE * stream);
-- 返回值 : 读/写的记录的数量N = nmemb : 读/写成功
读/写的记录的数量N < nmemb 或 N =0 : 读/写出错或读到文件的末尾
-- 一个记录是由一定长度的字节组成的一个单元。
-- fread用于读取记录、
即从stream中读取nmemb个长度为size的记录单元、并保存在ptr指定的空间
当文件最后一行的记录数小于nmemb时、返回的数值小于nmemb,但是读取成功。
-- fwrite用于写入记录、
即从将ptr指定的空间中的nmemb个长度为size的记录单元写入stream中。
给你找了一个fprintf的man page : http://os.51cto.com/art/201108/286657.htm。
你以后可以搜索man page。
这里简介一下 :
int fprintf(FILE * stream, const char * format, …);
--> 将内容打印输出到指定的文件中,就是比printf多一个FILE*参数而已,其他基本一样。
fwrite和fread的man page差不多 :
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void * ptr, size_t size, size_t nmemb,FILE * stream);
-- 返回值 : 读/写的记录的数量N = nmemb : 读/写成功
读/写的记录的数量N < nmemb 或 N =0 : 读/写出错或读到文件的末尾
-- 一个记录是由一定长度的字节组成的一个单元。
-- fread用于读取记录、
即从stream中读取nmemb个长度为size的记录单元、并保存在ptr指定的空间
当文件最后一行的记录数小于nmemb时、返回的数值小于nmemb,但是读取成功。
-- fwrite用于写入记录、
即从将ptr指定的空间中的nmemb个长度为size的记录单元写入stream中。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-12-19
fwrite是二进制方式写,把你结构体的那块内存直接写进去就好了
fwrite(stu, sizeof(stu), 1, FILE* stream);本回答被提问者采纳
fwrite(stu, sizeof(stu), 1, FILE* stream);本回答被提问者采纳
第2个回答 2012-12-18
链接里自己看啊追问
那如果在C++中已经包含了头文件 我想将数据写入文件 而且要用fwrite()函数 比如说 我定义了一个Student 类 stu[100] 对象 这个该怎么写
参考资料: