C语言mac 应用程序文件夹应用

C语言中文件操作的好处_论文_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言中文件操作的好处
中国最大最早的专业内容网站|
总评分0.0|
该文档仅有一页,您已阅读完毕,如需下载请购买
定制HR最喜欢的简历
你可能喜欢c语言实现能否保存数据? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。88被浏览<strong class="NumberBoard-itemValue" title="1分享邀请回答#include &stdio.h&
#include &conio.h&
int main()
char c = 'A';
FILE* fp = fopen("D:\\Test.txt", "w");
fwrite(&c, sizeof(c), 1, fp);
fclose(fp);
我使用Dev-C++编译这个程序,程序运行的结果是在D盘创建了一个名为Test.txt的文本文件,并向这个文件里写入了1个字节的数据(来自变量c的值),内容你看到了,是大写字母A. 你可以用记事本打开这个文件并看到结果。虽然现在你有99.99%的成功几率,但在实际的项目中至少有两个问题需要注意:1.
运行这个程序的账户是否具有在D盘创建文件的权限;2.
D盘磁盘空间是否还够?
所以你还需要加入一些代码来完善这个程序,但是在此之前我们还是先弄明白现在这个不完善的程序到底是怎么写文件的。第一步、使用fopen创建文件向磁盘写数据之前通常需要先创建文件,当然如果你非要绕过操作系统直接写磁盘扇区也不是绝对不可以,但是在应用系统开发中很少有人这么做。我是用了fopen函数来创建文件:FILE* fp = fopen("D:\\Test.txt", "w");
fopen函数还可以用来打开已经存在的文件、向文件中追加数据或者覆盖已经存在的文件中的数据,具体是哪种取决于文件的打开方式。fopen函数有两个参数,第一个参数是文件名,它可以是一个字符串(其实在C语言里用“字符串"这个说法不太严谨),请注意在文件名中使用斜杠时要使用双斜杠,它是单斜杠的转义符。如果你写成"D:\Test.txt",编译器会很好奇\T是什么东西的转义符。fopen的第二个参数是打开文件的方式,我的程序中用的是"w",表示我要写一个文件。用w(只写)方式打开的文件只能用于向文件输出数据,不能从该文件中输入数据,如果打开时原文件不存在,则新建该文件,如果原文件已经存在,则删除原文件里的数据。你还可以有下面的打开方式:微软觉得fopen不安全如果你用比较新版的VC编译器编译上面的程序,会得到一个错误:错误 1 error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. d:\source_codes\010_teaching_projects\writefile\writefile\writefile.cpp 8 1 WriteFile
原因是微软觉得fopen函数不够安全,所以他们很费心地写了一个fopen_s函数来取代它,我们暂时不在意好了。VS会强迫你改用fopen_s函数,fopen函数和fopen_s函数在使用上有一些不同。第二步、处理fopen函数的返回值fopen函数在执行以后会返回值,如果打开文件成功,它会返回一个结构体的内存地址;如果打开文件失败,它会返回NULL.fopen函数返回的结构体类型是FILE, 关于FILE结构体,可以参见:
的回答上面的程序在大多数情况下都会成功,但是也可能有意外,比如:1. 你的电脑上没有D盘2. 文件名中包含非法字符3. 运行程序的账户没有在D盘上创建文件的权限4. Test.txt文件已经存在并且正被一个霸道的程序打开并锁定了(比如Microsoft Word)......在很多年以前,我们打开的磁盘文件可能来自软盘,所以有可能出现软盘没有插入,或者软盘驱动器的门没有关好的情况,或者干脆软盘突然坏掉了(暴露年龄了)。所以,你不能假定fopen("D:\\Test.txt", "w")一定会成功然后接着就去写文件,你需要根据fopen函数的返回值来判断(fopen_s也一样),然后作出不同的处理:#include &stdio.h&
#include &conio.h&
int main()
char c = 'A';
FILE* fp = fopen("D:\\Test.txt", "w");
if (fp!=NULL)
fwrite(&c, sizeof(c), 1, fp);
fclose(fp);
printf("Write file successed.\n");
printf("Write file failed.\n");
你可以看到我对fp的值做了判断,如果fp!=NULL, 则认为打开(创建)文件成功,然后才写文件。第三步、使用fwrite写文件fwrite函数比较简单,你需要告诉它几个条件:1. 要写入文件的数据在哪儿(内存地址)2. 单项数据的大小是多少个字节?3. 一共有多少项数据要写入到文件?4. 写到哪个文件?简单地,你可以这么写:fwrite(&c, sizeof(c), 1, fp);
此处fwrite的四个参数分别对应上面的四个条件,1. 要写入文件的数据在哪儿
取字符变量c的地址——&c2. 单项数据的大小是多少个字节?
使用sizeof运算符来计算字符变量c的大小,当然你会认为它就是1,实际上在这个例子里你把它写成下面的样子也是可以的:fwrite(&c, 1, 1, fp);
但是使用sizeof绝对是个好习惯。3. 一共有多少项数据要写入到文件?
此处仅有一条。4. 要写入到哪个文件?
fp所代表的磁盘文件.fwrite函数也会有返回值,它返回实际写入磁盘文件的字节数,必要的情况下也要处理它,看它是否与预期相符。如果不相符,那就是发生了意外(例如磁盘空间不够等)。第四步、关闭文件文件用完了要关闭,主要的原因是有些情况下文件读写操作并不一定是立即就操作了磁盘,而是使用了缓冲区,使用fclose()函数可以把缓冲区内的数据真正写到磁盘文件中,并释放文件指针和有关的缓冲区。需要指出的是,使用fclose函数会释放fp所指向的FILE结构体的内存空间,但释放以后fp指针仍然指向原来的内存位置,作为一个好习惯,一个指针变量使用完后将它设置成为一个空指针。 fp=NULL;
至此,写文件的基本操作结束了。在实际的应用中,你通常不会是写一个字符变量的值到磁盘文件,你要写的可能是一个数组、一个链表或者其他更复杂的数据结构,你还需要学习如何使用fread函数来读文件,这都比这个例子程序要复杂的多,也更容易出错。祝愉快!525 条评论分享收藏感谢收起一个 c 语言应用程序上机过程一般要经过哪几个步骤_百度知道
一个 c 语言应用程序上机过程一般要经过哪几个步骤
我有更好的答案
运行程序步骤:1.编辑:输入源程序并存盘(.C)2.编译:将源程序翻译为目标文件(.OBJ)3.链接:将目标文件生成可执行文件( .EXE)4.运行:执行.EXE文件,得到运行结果。
采纳率:68%
来自团队:
C语言简单程序的编写和调试 一、 目的 熟悉Visual C++6.0集成环境,掌握在该环境下进行程序调试的一般方法。 二、 要求 1. 熟悉Visual C++6.0集成环境的使用,掌握在Visual C++6.0集成环境下输入,编译,调试和运行C程序的基本过程和方法; 2. 通过编写简单程序,掌握C程序的基本组成和结构,以及用C程序解决实际问题的步骤; 三、 例题 1.在Visual C++6.0集成环境中练习程序的输入、编译、连接和运行的基本方法。 〔指导〕 (1)启动 Visual C++6.0 ,进入Visual C++6.0 集成环境。 (2)设置基本环境:“工具”-&“选项”-&“格式”标签页。“颜色”栏中:number前景颜色 “紫红色”,string前景颜色“红色”,operator前景颜色“枣红色”。 (3)在计算机的E盘上创建一个存放今天上机程序的目录夹,如“C语言程序”。 (4)创建一个C源程序: “文件”-& “新建”,打开“新建”对话框。选“文件”标签页,选择C++ Source File 一项。在“文件”输入框中输入当前文件的名字s1-1.c,在“位置”处选择将文件保存的路径e:&#92;C语言程序。 (4)键入C源程序: #include &stdio.h& void main()
本回答被提问者和网友采纳
运行程序步骤:1.编辑:输入源程序并存盘(.C)2.编译:将源程序翻译为目标文件(.OBJ)3.链接:将目标文件生成可执行文件( .EXE)4.运行:执行.EXE文件,得到运行结果。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。c 语言应用程序上机过程具体步骤如下:打开VC++ 6.0程序 2、点“文件”,“新建“。在新建页面上选择文件→C++ Source File 并在右边编辑文件名称,选择保存位置,确定。简单程序示范。鼠标右键Compile(Ctrl+F7)如图,确定两次,注意下方可查看错误,可上下拉动。确定无错之后,右键Build(F7)如图,同样注意下方是否出现问题,最后右键BuildExecute(Ctrl+F5)。完成。
其他1条回答
为您推荐:
其他类似问题
应用程序的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。> 问题详情
操作系统内核与用户程序、应用程序之间的接口是______。A.SHELL命令B.图形界面C.系统调用D.C语言函
悬赏:0&答案豆
提问人:匿名网友
发布时间:
操作系统内核与用户程序、应用程序之间的接口是______。A.SHELL命令B.图形界面C.系统调用D.C语言函数请帮忙给出正确答案和分析,谢谢!
为您推荐的考试题库
您可能感兴趣的试题
1文件系统在创建一个文件时,为它建立一个______。A.文件目录B.目录文件C.逻辑结构D.逻辑空间2如果文件系统中有两个文件重名,不应采用______。A.一级目录结构B.树形目录结构C.二级目录结构D.A和C3______是指有关操作系统和其他系统程序组成的文件。A.系统文件B.档案文件C.用户文件D.顺序文件4存储管理的目的是______。A.方便用户B.提高内存利用率C.方便用户和提高内存利用率D.增加内存实际容量
我有更好的答案
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
每天只需0.4元
选择支付方式
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
恭喜你被选中为
扫一扫-免费查看答案!
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
提示:请截图保存您的账号信息,以方便日后登录使用。
常用邮箱:
用于找回密码
确认密码:一、为什么需要dll
代码复用是提高软件开发 效率的重要途径。一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用。比较常见的例子是各种应用程序框架, 如ATL、MFC等,它们都以源代码的形式发布。由于这种复用是&源码级别&的,源代码完全暴露给了程序员,因而称之为&白盒复用&。&白盒复用&的缺点 比较多,总结起来有4点。
暴露了源代码;
容易与程序员的&普通&代码发生命名冲突;
多份拷贝,造成存储浪费;
更新功能模块比较困难。
实际上,以上4点概括起来就是&暴露的源代码&造成&代码严重耦合&。为了弥补这些不足,就提出了&二进制级别&的代码复用。使用二进制级别的代码复用一定程度上隐藏了源代码,对于缓解代码耦合现象起到了一定的作用。这样的复用被称为&黑盒复用&。
在Windows操作系 统中有两种可执行文件,其后缀名分别为.exe和.dll。它们的区别在于,.exe文件可被独立的装载于内存中运行;.dll文件却不能,它只能被其它 进程调用。然而无论什么格式,它们都是二进制文件。上面说到的&二进制级别&的代码复用,可以使用.dll来实现。
与白盒复用相 比,.dll很大程度上弥补了上述4大缺陷。.dll是二进制文件,因此隐藏了源代码;如果采用&显式调用&(后边将会提到),一般不会发生命名冲突;由 于.dll是动态链接到应用程序中去的,它并不会在链接生成程序时被原原本本拷贝进去;.dll文件相对独立的存在,因此更新功能模块是可行的。
说明:实现&黑盒复用&的途径不只dll一种,静态链接库甚至更高级的COM组件都是。本文只对dll进行讨论。
二、C语言制作dll文件
1. 启动vs2010,&
2.创建dll工程
  a. 文件 -& 新建 -& &项目 -& win32控制台应用程序 &&&
  b. 输入工程名称, 比如 dll, 点击确定
  c. 点击下一步, 在&应用程序设置界面& 勾选 dll 和空项目, 点击完成按钮
  d. 视图 -& 解决方案资源管理器 -&右键点击头文件, 添加-&新建项,这里用dll.h,
  e.&右键点击"源文件",添加-&新建项,这里我们添加dll.c,到此dll工程搭建完毕.&
#ifndef AXLPLUGIN_H
#define AXLPLUGIN_H
#ifdef _WINDOWS
#define DLL_DECLARE __declspec(dllexport)
#define DLL_DECLARE
DLL_DECLARE int Min(int a, int b);
/* 把所有的函数声明都列在这里 */
#include "dll.h"
#include &stdio.h&
/*根据需要添加相应的头文件*/
DLL_DECLARE int Min(int a, int b)
if (a &= b)
/* 把所有声明的函数都在这里实现*/
5. 生成dll lib 文件
点击build -& build dll
这样,dll 和 lib 文件就生成了。
5. dll文件的使用
试验证明dll.dll文件要和dll.lib以及dll.h文件一起使用 &
三 ,在程序中加载dll
新建一个测试用的"Win32应用程序" &
   &a.文件-&新建-&项目-&Win32控制台应用程序.
&  &b.输入工程名称,这里我们用test_dll,点击确定按钮. &
&&&&&&&c.点击下一步,在"应用程序设置界面设置"控制台应用程序"和"空项目",点击完成按钮.&&
&&&&&&&d.将工程dll目录里的dll.h/dll.dll/dll.lib拷贝到工程test_dll目录里。&&
&&&&&&&e.视图-&解决方案资源管理器,右键点击"头文件",添加-&新建项,这里咱们用dll.h&&
&&&&&&&&&右键点击"源文件",添加-&新建项,这里我们添加test_dll.c,右键点击&资源文件&,&&
&&&&&&&&&添加-&"现有项",选择dll.lib,到此test_dll工程搭建完毕. &&
  3.&&编辑test_dll.c文件,内容如下&
#include "dll.h"
#include &stdio.h&
int main()
printf("Min(2, 4) = %d\n", Min(2, 4));
printf("Min(5, 2) = %d\n", Min(5, 2));
四,dll和test_dll工程的目录结构 &
../test_dll/
test_dll.sdf
test_dll.sln
test_dll_dir.txt
test_dll.exe
test_dll.ilk
test_dll.pdb
└─test_dll-eb5063a1
test_dll-c06c53e7.ipch
└─test_dll
test_dll.c
test_dll.vcxproj
test_dll.vcxproj.filters
test_dll.vcxproj.user
cl.command.1.tlog
CL.read.1.tlog
CL.write.1.tlog
link-cvtres.read.1.tlog
link-cvtres.write.1.tlog
link.3004-cvtres.read.1.tlog
link.3004-cvtres.write.1.tlog
link.3004.read.1.tlog
link.3004.write.1.tlog
link.command.1.tlog
link.read.1.tlog
link.write.1.tlog
mt.command.1.tlog
mt.read.1.tlog
mt.write.1.tlog
rc.command.1.tlog
rc.read.1.tlog
rc.write.1.tlog
test_dll.Build.CppClean.log
test_dll.exe.embed.manifest
test_dll.exe.embed.manifest.res
test_dll.exe.intermediate.manifest
test_dll.lastbuildstate
test_dll.log
test_dll.obj
test_dll_manifest.rc
阅读(...) 评论()

我要回帖

更多关于 检查应用和文件 的文章

 

随机推荐