| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1152 人关注过本帖
标题:关于文件操作的一些的困惑,希望楼主给解答下
只看楼主 加入收藏
啊蒋
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2017-2-26
结帖率:70%
收藏
已结贴  问题点数:20 回复次数:4 
关于文件操作的一些的困惑,希望楼主给解答下
c语言的文件操作不是有两种,一种是文本模式,一种是二进制模式,我想问的是当要处理一些结构型的数据的时候,比如把结构写入文件,可以用文本模式,写入结构吗,在文本模式下,有操作结构的函数吗
搜索更多相关主题的帖子: 二进制 c语言 
2017-03-27 22:34
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10541
专家分:42927
注 册:2014-5-20
收藏
得分:10 
可以用文本模式,fscanf()和fprintf()可以格式化输入输出数据至文件。
如果只用来保存数据最好不用文本模式
2017-03-27 22:42
啊蒋
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2017-2-26
收藏
得分:0 
回复 2楼 吹水佬
楼主,为什么说只是保存数据最好不用文本模式呢?能解释下不,我刚接触c语言不是很久,还有我想问下用vc6.0  去遍c程序文件,c语言里不是有个extern关键字可以访问其他文件里的全局变量,是不是首先必须要把c程序的源文件放在同一个工作空间里才能访问到?还有就是我昨天实验了发现编译的时候能通过,链接的时候就报错显示找不到那个变量?还有就是extern关键字是不是不能用到结构体上呢?
2017-03-28 13:32
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10541
专家分:42927
注 册:2014-5-20
收藏
得分:10 
1、一是用二进制模式保存数据比较节省空间,如255,用文本模式保存占3个字节,用二进制模式只需一个字节。二是用二进制模式保存数据比较安全可靠,文本模式比较容易打开修改数据。

2、可以简单试试:
    1)创建工程项目 test
    2)添加文件:
//cc.h
typedef struct _TEST_
{
    int data;
} TEST, *PTEST;

//cc.c
#include <stdio.h>
#include "cc.h"
int main(int argc, char *argv[])
{
    extern int i;
    extern TEST t;
    printf("%d %d", i, t.data);
    return 0;
}

//c1.c
#include "cc.h"
int i=12356;
TEST t={789};
2017-03-28 15:28
啊蒋
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2017-2-26
收藏
得分:0 
多谢了已经搞明白了

2017-03-28 23:15
快速回复:关于文件操作的一些的困惑,希望楼主给解答下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015097 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved