用世界最大真心加"高分"求如何C/C++打开文件(要求2种方式(2进制和文本

谢谢分别写出2种方式代码... 谢谢 分别写出2种方式代码 展开
 我来答
C_LIFEI
2009-12-28 · TA获得超过800个赞
知道小有建树答主
回答量:431
采纳率:0%
帮助的人:360万
展开全部
C语言有两个函数对文件操作
fopen 和open,
MSDN中两函数原型为
FILE *fopen( const char *filename, const char *mode );
int _open( const char *filename, int oflag [, int pmode] );
两个函数都可以在第二(三)个参数指定文件打开方式,这种方式包括了文本方式和二进制方式

比如fopen 为例(这个函数编程用的多些)
Windows系统默认打开方式是文本方式的(linux二进制方式)
在第二个参数中指定打开方式为字符‘b’ 或者‘t’,分别为二进制方式和文本方式,还可以加入一些其他的打开选项(只读、只写、独占...)

// 二进制方式
FILE* pFile = fopen("C:\\Test.txt", "b")

// 文本方式
FILE* pFile = fopen("C:\\Test.txt", "t")
你还可以加一些其他选项,在不同的操作系统中有打开方式默认的话是可以不写的用open函数也是类似的
烟安双P9
2009-12-28
知道答主
回答量:17
采纳率:0%
帮助的人:8.4万
展开全部
#include<stdio.h>
02.struct student
03.{
04.
char xuehao[20];
05.
char name[20];
06.
char sex[3];
07.
double score[3];
08.
double ave;
09.
double s;
10.};
11.void main()
12.{
13.
struct student stu[1];
14.
int i;
15.
scanf("%s %s %s",stu[0].xuehao,stu[0].name,stu[0].sex);
16.
stu[0].s=0;
17.
for(i=0;i<3;i++)
18.
{
19.
scanf("%lf",&stu[0].score[i]);
20.
stu[0].s+=stu[0].score[i];
21.
}
22.
stu[0].ave=stu[0].s/3;
23.

24.

25.
printf("%s",stu[0].xuehao);
26.
printf(" %s",stu[0].name);
27.
printf(" %s",stu[0].sex);
28.
for(i=0; i<3; i++)
29.
{
30.
printf(" %.2f",stu[0].score[i]);
31.
}
32.
printf(" %.2f %.2f\n",stu[0].ave,stu[0].s);
33.}
一般用fopen打开就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回城从9588
2009-12-28 · TA获得超过116个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:137万
展开全部
原帖太长,不好粘贴,地址如下:
http://www.diybl.com/course/3_program/c++/cppjs/200822/98428.html

参考资料: http://www.diybl.com/course/3_program/c++/cppjs/200822/98428.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
uestc_lijin
2009-12-28 · 超过25用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:70.7万
展开全部
fputc,fgetc,fopen,fclose,fseek,ftell,
fwrite,fread,这是常用的文件操作函数,用百度百科搜这几个名字,可以查看倒详细的函数声明及用法。下面是我刚写的一个把一个文件保存到另一个文件的程序(不保存最后一个字节),里面用到了几个函数,你可以看看
#include<stdio.h>
int main()
{ FILE *fp1,*fp2;
long int len;
fp1=fopen("name1","rb+"); //name1为原来的文件,例如f:\\a.txt
fp2=fopen("name2","wb+"); //name2为你保存的文件,例如f:\\b.txt
fseek(fp1,0,2); //将指针移到文件结尾
len=ftell(fp1); //得到文件长度
rewind(fp1); //文件指着回到文件头
char c;
for(long int i=0;i<len-1;i++)
{ c=fgetc(fp1); //从fp1文件中读取一个字节
fputc(c,fp2); //把这个字节打印倒fp2
}
fclose(fp1); //关闭文件fp1
fclose(fp2); //关闭文件fp2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式