c语言

〖摘要:〗
13.3 文件的打开与关闭
文件在进行读写操作之前要先打开,使用完毕要关闭。所谓打开文件,实际上是建立文件的各种有关信息,并使文件指针指向该文件,以便进行其它操作。关闭文件则断开指针与文件之间的联系,也就禁止再对该文件进行操作。

在C语言中,文件操作都是由库函数来完成的。在本章内将介绍主要的文件操作函数。

13.3.1 文件的打开(fopen函数)
fopen函数用来打开一个文件,其调用的一般形式为:

文件指针名=fopen(文件名,使用文件方式);

其中,

“文件指针名”必须是被说明为FILE 类型的指针变量;

“文件名”是被打开文件的文件名;

“使用文件方式”是指文件的类型和操作要求。

“文件名”是字符串常量或字符串数组。

例如:

FILE *fp;

fp=("file a","r");

其意义是在当前目录下打开文件file a,只允许进行“读”操作,并使fp指向该文件。

又如:

FILE *fphzk

fphzk=("c:\\hzk16","rb")

其意义是打开C驱动器磁盘的根目录下的文件hzk16,这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。

使用文件的方式共有12种,下面给出了它们的符号和意义。

文件使用方式
意义

“rt”
只读打开一个文本文件,只允许读数据

“wt”
只写打开或建立一个文本文件,只允许写数据

“at”
追加打开一个文本文件,并在文件末尾写数据

“rb”
只读打开一个二进制文件,只允许读数据

“wb”
只写打开
继续阅读其余的  4772 字
hofman   2005-11-19 22:04:23 阅读:182885  评论:53  引用:0
〖摘要:〗
在如下程序中的不解:
main()
{
static int a[5]={1,3,7,9,5};
int *num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};/*指针数组 */
int **p,i; /**p 指针的指针 —声明*/
p=num;
for(i=0;i<5;i++)
{
printf("%d ",**p);/* 取植的意思*/
p++; /*这个p++是不是移动指针的指向?*/
}
}



------
我要用我的一生来做一件事,
那就是属于我自己一份的事业;
我要用我的一生来爱一个人,
那就是属于我自己一生的伴侣;
回复此文章 |
回复主题:Re:关于c语言的问题 | 作者:hofman | 军衔:上尉 | 发表时间:05-23 18:15:45
p++就是指针变量p加一,

就是指针向后移动一个单位,

在这里就是向后移动2个字节,因为int 型指针一个单位为2个字节。
------
军都山下,
有一个美丽的苹果园。
苹果园里有什么呢?
好多好多的JavaBeans!!!




继续阅读其余的  387 字
hofman   2005-11-19 22:01:56 阅读:2104  评论:0  引用:0
〖摘要:〗
你的文章好乱!!!
改改再上来问吧
------

回复此文章 |
回复主题:Re:一个c语言问题,为什么下面的程序执行后,会有一行0,为什么!! | 作者:haohao | 军衔:六级军士 | 发表时间:05-14 21:08:34
for(p=leader;p<leader+4;p++)
改for(p=leader;p<leader+3;p++)
因为指针和数组是从0开始的
你好好想想
------

回复此文章 |
回复主题:Re:一个c语言问题,为什么下面的程序执行后,会有一行0,为什么!! | 作者:hofman | 军衔:上尉 | 发表时间:05-17 01:36:06
Firstly, you should use loop such as for loop, while loop;

Secondly, you need strcmp function which can compare two
strings.
------
军都山下,
有一个美丽的苹果园。
苹果园里有什么呢?
好多好多的JavaBeans!!!
回复此文章 |
回复主题:一个c语言问题? | 作者:black_god | 军衔:上士 | 发表时间:05-18 20:05:59
#include<string.h>
struct guozhw
{
int no;
char name[20];
float maths;
float eng;
float chin;
float total;
float average;
}leader[3];
main()
{
int i;
int j;
struct guozhw *p;
继续阅读其余的  3277 字
hofman   2005-11-19 22:02:54 阅读:1855  评论:0  引用:0
〖摘要:〗
很简单的。
main()
{
int number_a *point_adders;
scanf("%d",&number_a);
point_adders=&number_a;
printf("\n Finished!! The Number You Entered is: %d",*point_adders);
printf("\n The adders to Save This number is: %x",point_adders);
}

一目了然。

定义“number_a”来让用户输入值并赋值给它。
然后,使用间接读取符号“*”来提取保存在地址中存放的数据
最后直接输出point_adders在最初得到赋值时的地址编码(十六进制)。
大家在输入后,虽然可以任意的输入整形数据中任意一个数,但是即使输出的数字改变了,但是地址却没有改变。这就是指针与变量之间的关系体现。

---------------------------------------------------
上课想说,但是没说出来。望hofman见谅~~~
------

回复此文章 |
回复主题:Re:Re:发个典型程序代码:了解指针 | 作者:idiot | 军衔:上士 | 发表时间:2004-04-24 11:17:50
sunb的意思是说只想输出地址,看看分配的地址是否改变,而不是想输出地址里面的值,所以就不用*号了
------

回复此文章 |
回复主题:Re:发个典型程序代码:了解指针 | 作者:air_tuyh | 军衔:一级军士 | 发表时间:2004-04-24 11:54:18
我改 写程序有没有编译啊 有错误啊
main()
{
int num
继续阅读其余的  764 字
hofman   2005-11-19 22:05:29 阅读:2108  评论:1  引用:0
〖摘要:〗
说的具体点可以吗?
你的问题我没有办法回答的呀
------

回复此文章 |
回复主题:Re:c语言一小问 | 作者:meiking | 军衔:中尉 | 发表时间:2004-02-25 21:08:44
变量主要是用数组,其它的等你问了再说吧。。
------

回复此文章 |
回复主题:Re:Re:c语言一小问 | 作者:hofman | 军衔:上尉 | 发表时间:2004-02-25 22:06:23
haohao说得对,提问题应该明晰、具体。

你的问题太笼统,让人难以作答。

我的回答如下:

由于c语言不支持字符串这种变量类型,所以,只好用字符数组来实现它的功能。

而c++就改正了这个缺点,支持字符串变量类型,java也支持。

c语言处理复杂的数据类型比较费劲,只好用结构体嵌套、结构体数组嵌套之类来实现。

而c++就可以用类来实现,不仅可以表示数据类型,还可以进行数据处理,即oop(面向对象的编程)是对c语言的重大改进,是程序员的福音。
------

回复此文章 |
回复主题:Re:Re:Re:c语言一小问 | 作者:air_tuyh | 军衔:一级军士 | 发表时间:2004-02-27 19:48:36
能不能给一个使用字符串的事例
用c语言编的
在给一些详细的解释
先谢了:)
------

回复此文章 |
回复主题:Re:Re:Re:c语言一小问 | 作者:air_tuyh | 军衔:一级军士 | 发表时间:2004-02-27 19:53:02
那给个用字符数组的例子:)
------

回复此文章 |
回复主题:Re:例子 | 作者:hofman | 军衔:上尉 | 发表时间:2004-02-27
继续阅读其余的  6464 字
hofman   2005-11-19 22:06:38 阅读:7083  评论:1  引用:0
〖摘要:〗
T_T)
没人看看么....?
------

回复此文章 |
回复主题:VC美化编程(一) ---- 定义字体 | 作者:sunb3 | 军衔:上等兵 | 发表时间:2004-06-08 18:07:41
做了很9[VC]的朋友应该明白了一些对于[MFC]程序中插入文字的操作。

其实简单来说,就是在一个CPP文件中“画”(DRAW)出一个区域,在窗体的X,Y轴上显示出来。但是只是默认字体,难道就没有方法了么?

在MSDN上查找了N多个CFont类,终于发现,可以创建字体。他主要使用了CFont类中一个函数——CreatFont函数。

其大概的参数和格式如下
////////////////////////////////////////////////////////////////////////////////
BOOL CreatFont(int nHeight,int nWidth,int nEscapement,int nOrientaion,int nWeight,BYTE bStrikOut,BYTE nCharSet,BYTE nOutPrecision,BYTE nClipPrecision,BYTE nQuality,BYTE nPitchAndFamily,LPCSTR CpszFacename);
////////////////////////////////////////////////////////////////////////////////



呵呵这下可要考验大家的英语水平了~~~
请看:其中包含了所有文本的可修改内容哦:
长,宽,好,字号,大小,粗体,斜体,下划线……
呵呵~~~对这个一一掌握的话……相信你可以制作一个简单的
继续阅读其余的  1900 字
hofman   2005-11-19 22:08:10 阅读:2030  评论:3  引用:0
〖摘要:〗
通过上一个程序,大家应该都已经知道:如果我们在编程的时候掌握了CDC(设备环境)和图形对象类,那么在win编程的时候绘图就Easy多了.但是它的功能只仅仅限于此么?
我们来试试这段程序代码:
///////////////////////////////////////////////////////////////////////////////
BOOL Test1View::PreCreateWindow(CREATESTRUCT &cs){
//先来给我们的窗体设置一个属性吧!
//即CBush Test1View::m_Back
m_Back.CreateSolidBrush(::GetsysColor(COLOR_3DFACE));
//我想只要会一点英语就知道这句是干什么的了:)
cs.lpszClass=AfxRegisterWndClass(0,0,m_back,NULL);
return CView::PreCreateWindow(cs);
}
//////////////////////////////////////////////////////////////////////////////
int Test1View::OnCreate(LPCREATSTRUCT lpCreateStruct){
if(CView::OnCreate(lpCreateStruct)==1)
return -1;
//创建一个CFont类的字体
//Test1View::m_Font;
m_Font.CreatePointFont(120,"Impact");
return 0;
}
///////////////////////////////////
继续阅读其余的  751 字
hofman   2005-11-19 22:08:54 阅读:412  评论:0  引用:0
〖摘要:〗
排序初步之一:插入排序
排序是最基本的算法,值得认真学习。

为了配合大家学习C语言,我将陆续发一些关于排序的帖子,

尽量通俗易懂。以下的例子均在linux gcc下编译通过。

/* added on 2003-05-24
* by hofman
*/

main()
{
int A[] = {36,25,48,12,65,43,20,58};
void insertSort(int A[],int n);
int n,k;
for( k=0;k<8;k++)
{
printf("%d \t",A[k]);
}
printf("\n");

n = 8;
printf("%d\n",n);
insertSort(A,8);
// show outcome
for( k=0;k<8;k++)
{
printf("%d \t",A[k]);
}
printf("\n");
} // end of main


void insertSort(int A[],int n)
{
int x;
int i,j;

for(i=1;i<n;i++)
{
x=A;
for(j=i-1;j>=0;j--)
{
if(A[j]>x)
A[j+1]=A[j];
else break;
}
A[j+1] = x;
}
}



------
军都山下,
有一个美丽的苹果园。
苹果园里有什么呢?
好多好多的JavaBeans!!!
回复此文章 |
回复主题:Re:排序初步之一:插入排序分析 | 作者:hofman | 军衔:上尉 | 发表时间:05
继续阅读其余的  11356 字
hofman   2005-11-19 22:09:51 阅读:1049  评论:0  引用:0
〖摘要:〗
二级C 考试大纲 基本要求 1.具有计算机的基础知识。 2.了解操作系统的基本概......
继续阅读其余的  1947 字
hofman   2005-11-19 22:07:17 阅读:4338  评论:12  引用:0
〖摘要:〗
/* added on 2003-05-16 * by hofman */ #defin......
继续阅读其余的  11217 字
hofman   2005-11-19 22:00:35 阅读:9244  评论:1  引用:0
Copyright@2004-2010 powered by YuLog