C语言编程案例.docx
《C语言编程案例.docx》由会员分享,可在线阅读,更多相关《C语言编程案例.docx(12页珍藏版)》请在冰豆网上搜索。
C语言编程案例
C语言编程案例
/*
* 文件打开与关闭
* Lzy 2011-5-28
*/
#include
int main(void)
{
FILE *fp; //定义文件指针
if((fp = fopen("F:
\\lzy.txt","w+")) == NULL) //以读/写方式找开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
else
{
printf("打开成功!
\n");
}
fclose(fp); /*闭关该文件*/
return 0;
}
/*
* 按字节写入文件
* Lzy 2011-5-28
*/
#include
int main(void)
{
FILE *fp; //定义文件指针
char c;
if((fp = fopen("F:
\\lzy.txt","w+")) == NULL) //打开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
else
{
while((c = getchar()) !
= '\n')
{
if(fputc(c,fp) == EOF) /*写入字符,判断是否写入失败*/
{
printf("写入失败!
\n");
exit(0);
}
}
}
fclose(fp); /*闭关该文件*/
return 0;
}
/*
* 按字节读取文件
* Lzy 2011-5-28
*/
#include
int main(void)
{
FILE *fp; //定义文件指针
if((fp = fopen("F:
\\lzy.txt","r+")) == NULL) //打开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
else
{
while(!
feof(fp)) /*判断文件是否结束*/
{
printf("%c",fgetc(fp)); /*按字节读取*/
}
}
fclose(fp); /*闭关该文件*/
return 0;
}
/*
* 按字符串输入文件
* Lzy 2011-5-28
*/
#include
int main(void)
{
FILE *fp; //定义文件指针
char c[30];
if((fp = fopen("F:
\\lzy.txt","w+")) == NULL) //打开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
else
{
printf("输入一串字符:
");
gets(c);
if(fputs(c,fp) !
= 0) /*写入字符,判断是否写入失败*/
{
printf("写入失败!
\n");
exit(0);
}
}
fclose(fp); /*闭关该文件*/
return 0;
}
/*
* 按字符串输出文件
* Lzy 2011-5-28
*/
#include
int main(void)
{
FILE *fp; //定义文件指针
char c[30];
if((fp = fopen("F:
\\lzy.txt","r+")) == NULL) //打开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
else
{
if(fgets(c, 30, fp) !
= NULL)
{
printf("%s\n",c);
}
}
fclose(fp); /*闭关该文件*/
return 0;
}
/*
* 文件数据块操作
* Lzy 2011-5-28
*/
#include
struct student
{
int id;
char name[10];
int score;
};
int main(void)
{
FILE *fp; //定义文件指针
struct studentstu[3],stu1[3], *p;
if((fp = fopen("F:
\\lzy.txt","wb+")) == NULL) //以二进制方式打开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
for(p = stu; p < stu +3; p++) //结构体初始化
{
printf("输入学生学号姓名分数\n");
scanf("%d%s%d",&p->id, p->name, &p->score);
}
fwrite(stu, sizeof(struct student), 3 ,fp); /*数据写入文件*/
rewind(fp); /*文件读写指针复位*/
fread(stu1, sizeof(struct student), 3 ,fp); /*数据输出赋给stu1*/
printf("学生学号姓名分数\n");
for(p = stu1; p < stu1 + 3; p++) /*打印*/
{
printf(" %d\t%s\t%d\n",p->id, p->name, p->score);
}
fclose(fp); /*闭关该文件*/
return 0;
}
/*
* 按格式化写入函数fprintf()
* Lzy 2011-5-28
*/
#include
int main(void)
{
FILE *fp; //定义文件指针
int a = 55;
char b = 98;
if((fp = fopen("F:
\\lzy.txt","w+")) == NULL) //以二进制方式打开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
fprintf(fp,"%d,%c", a, b); /*把变量a,b 以逗号作分隔符,输出到fp所指向的文件中*/
fclose(fp); /*闭关该文件*/
return 0;
}
/*
* 按格式化读取函数fscanf()
* Lzy 2011-5-28
*/
#include
int main(void)
{
FILE *fp; //定义文件指针
int a ;
char b ;
if((fp = fopen("F:
\\lzy.txt","r+")) == NULL) //以二进制方式打开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
fscanf(fp,"%d,%c", &a, &b); /*从fp中读取的内容,分别赋给变量a,b(注意:
以逗号作分隔符)*/
printf("%d%c\n",a,b);
fclose(fp); /*闭关该文件*/
return 0;
}
/*
* putw和getw函数
* Lzy 2011-5-28
*/
#include
int main(void)
{
FILE *fp; //定义文件指针
int a;
if((fp = fopen("F:
\\lzy.txt","w+")) == NULL) //以二进制方式打开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
putw(66,fp); /*整形数写入*/
rewind(fp); /*重设读写指针*/
a = getw(fp); /*整形数读出*/
printf("%d\n",a);
fclose(fp); /*闭关该文件*/
return 0;
}
/*
* 随机读写与fseek()函数
* Lzy 2011-5-28
*/
#include
struct Stu
{
int id;
char name[10];
}stu = {1,"lzy"};
int main(void)
{
FILE *fp; //定义文件指针
char name[10];
if((fp = fopen("F:
\\lzy.txt","wb+")) == NULL) //以二进制方式打开lzy.txt
{
printf("打开失败!
\n");
exit(0);
}
fwrite(&stu,sizeof(stu),1,fp); /*块方式写入数据*/
fseek(fp,sizeof(int), 0); /*移动指针*/
fread(name,10,1,fp); /*块方式输出数据*/
printf("%s\n",name);
fclose(fp); /*闭关该文件*/
return 0;
}