# include <stdio.h> int main( ) { FILE *fp; char ch,filename[10]; scanf("%s",filename); /*读入磁盘文件名*/ if((fp=fopen(filename,"w"))==NULL) /*建立新文件 */ { printf("cannot open file\n"); /*建立新文件出错误信息*/ exit(1); /*终止调用过程、关闭所有文件*/ } ch=getchar( ); /*从键盘读入一个字符*/ while(ch!=‘#‘) /*读到#时停止输入*/ { fputc(ch,fp); /*将ch内字符写入fp指向的文件*/ ch=getchar( ); } fclose(fp); /*关闭fp所指向的文件*/ if((fp=fopen(filename,"r"))==NULL) /*将filename 以‘r‘方式打开*/ { printf("cannot open file\n"); exit (1); } ch=fgetc(fp); /*从fp指向的文件读一个字符给ch变量 */ while(ch!=EOF) /*读到文件结束符EOF时结束 */ { putchar(ch); ch=fgetc(fp); } fclose(fp); /*关闭文件*/ return 0; }
#include<stdio.h> #define SIZE 4 struct student_type { char name[10]; int num; int age; char addr[15]; }stud[SIZE]; void save();/*保存输入数据到文件的函数声明*/ void output();/*输入文件内容的函数声明*/ /*在主函数main( )中的终端读入4个学生的数据,然后调用save( )函数。*/ int main() { int i; for(i=0;i<SIZE;i++) scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age, stud[i].addr); save(); printf("**********************************\n"); printf("这是刚才写到文件里的内容\n"); output(); return 0; } /*save( )函数,将数据送到"stu_list"磁盘文件中去。*/ void save() { FILE *fp; int i; if((fp=fopen("stu_list","wb"))==NULL) { printf("cannot open file\n"); return; } /*函数sizeof 计算一个结构体student_type的变量长度29(10+2+2+15)字节*/ for(i=0;i<SIZE;i++) if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) printf("file write error\n"); } void output() { int i; FILE *fp; fp=fopen("stu_list","rb"); for(i=0;i<SIZE;i++) { fread(&stud[i],sizeof(struct student_type),1,fp); printf("%-10s%4d%4d %-15s\n",stud[i].name, stud[i].num,stud[i].age,stud[i].addr); } }
#include "stdio.h" void add_num( ),lookup( ); main( ) { char choice; do{choice=menu( ); switch(choice) { case ‘A‘:add_num( ); break; case ‘L‘:lookup( ); break; } }while(choice!=‘Q‘); } menu( ) { char ch; do{ printf("(A)dd,(L)ookup or (Q)uit:"); ch=tolower(getche( )); printf("\n"); } while(ch!=‘Q‘&&ch!=‘A‘&&ch!=‘L‘); return ch; } void add_num( ) { FILE * fp; char name[80]; int a_code,exchg,num; if((fp=fopen("phone","a"))==NULL) { printf("cannot open directory file\n"); exit(1); } printf("enter name and number:"); fscanf(stdin,"%s%d%d%d",name,&a_code,&exchg,&num); fscanf(stdin,"%*c"); fprintf(fp,"%s %d %d %d n",name,a_code,exchg,num); fclose(fp); } void lookup( ) { FILE *fp; char name[80],name2[80]; int a_code,exchg,num; if((fp=fopen("phone","r"))==NULL) { printf("cannot open directory file\n"); exit(1); } printf("name?"); gets(name); while(!feof(fp)) {fscanf(fp,"%s%d%d%d",name2,&a_code,&exchg,&num); if(!strcmp(name,name2)) {printf("%s: (%d)%d-%d\n",name,a_code,exchg,num); break; } } fclose(fp); } 请运行程序,可以得到如下结果: (A)dd,(L)ookup or (Q)uit:A Enter name and number: Liming 6789 1234 135 (A)dd,(L)ookup or (Q)uit:A Enter name and number: Lihung 5678 235 357 (A)dd,(L)ookup or (Q)uit:L name?Liming Liming:(6789)1234-135 (A)dd,(L)ookup or (Q)uit:Q
getw(fp) {FILE *fp; char *s; int i; s=&i; s[0]=getc(fp); s[1]=getc(fp); return(i); }
putw(i,fp) {int i; FILE *fp; {char *s; s=&i; putc(s[0],fp);putc(s[1],fp); return(i); }
if((fp=fopen(“test”,“r”))==NULL) {printf(“cannot open this file\n”); exit(1); } ch=fget(fp); while(ch!=‘#’) {ch=ch+4; fputc(ch,fp); ch=fget(fp); }
C语言新建文件,向文件中输入内容并读出文件内容,布布扣,bubuko.com
原文:http://blog.csdn.net/nyist327/article/details/22498409