C语言学习Day28 fgetc( )

28-1

#include <stdio.h> 

int main()

{

	//使用fgetc(fp)从文件中读取一个字符 

	//功能从fp所指向的文件中取字符

	//语法fgetc(fp) ;

	

	FILE *fp = fopen("C:\\Users\\Lenovo\\Desktop\\1.txt" , "r");

	

	if(fp == NULL){

		puts("文件打开失败");

	}else {

		puts("文件打开成功!");

	}

	

	//从文件中读--字符

	//结束EOF 

	char ch = fgetc(fp) ;//读了一个字符

	

	while(ch != EOF) {

		putchar(ch);

		//继续去读

		ch = fgetc(fp);

	}

	

	

	//关闭

	fclose(fp) ;

	

}

28-2

#include <stdio.h>

//库函数  和   自定义函数 

//自定义函数求和

double add(double d1 , double d2) {//形参 d1 = ?  d2 = ?

	return d1 + d2;

}



//float %f   double %lf 

int main(){

	double d1 , d2;

	printf("请输入两个实数:");

	scanf("%lf%lf" , &d1 , &d2);

	printf("%g \n" , add(d1 , d2));

}

28-3

#include <stdio.h>



int main(){

	FILE *fp = fopen("C:\\Users\\Lenovo\\Desktop\\t.txt" , "a");

	if(fp == NULL){

		printf("打开失败\n");

	}else{

		printf("打开成功\n");

	}

	

	fputs("88888888888888888" , fp);

	fputs("\n" , fp);

	fputs("777777777777777" , fp);

	fputs("\n" , fp);

	fputs("55555555555" , fp);

	fputs("\n" , fp);

	printf("操作成功\n");

	fclose(fp);

}

28-4

#include <stdio.h>



int main(){

	FILE *fp = fopen("C:\\Users\\Lenovo\\Desktop\\t.txt" , "r");

	if(fp == NULL){

		printf("打开失败\n");

	}else{

		printf("打开成功\n");

	}

	char ch[100];

	char *p = ch;

	if(fgets(ch , 100 , fp) != NULL){

		//printf("%s" , ch);

		puts(ch);

	}



	fclose(fp);

}

28-5

#include <stdio.h>

struct student{

	int id;

	char name[10];

	int score01;

	int score02;

	int total;

};

int main(){

	FILE *fp = fopen("C:\\Users\\Lenovo\\Desktop\\t.txt" , "a");

	if(fp == NULL){

		printf("打开失败\n");

	}else{

		printf("打开成功\n");

	}

	struct student s[3];

	int i = 0;

	printf("id name score01 score02 total\n");

	while(i<3){

		scanf("%d" , &s[i].id);

		scanf("%s" , s[i].name);

		scanf("%d" , &s[i].score01);

		scanf("%d" , &s[i].score02);

		s[i].total = s[i].score01 + s[i].score02;

		i++;

	}

	i = 0;

	while(i<3){

		fprintf(fp , "%d " , s[i].id);

		fprintf(fp , "%s " , s[i].name);

		fprintf(fp , "%d " , s[i].score01);

		fprintf(fp , "%d " , s[i].score02);

		fprintf(fp , "%d " , s[i].total);

		fputc('\n' , fp);

		i++;

	}

	


	fclose(fp);

}

28-6

#include <stdio.h>

struct student{

	int id;

	char name[10];

	int score01;

	int score02;

	int total;

};

int main(){

	FILE *fp = fopen("C:\\Users\\Lenovo\\Desktop\\t.txt" , "a");

	if(fp == NULL){

		printf("打开失败\n");

	}else{

		printf("打开成功\n");

	}

	struct student s[3];

	int i = 0;

	printf("id name score01 score02 total\n");

	

	while(i<3){

		fscanf(fp , "%d" , &s[i].id);

		fscanf(fp , "%s " , s[i].name);

		fscanf(fp , "%d " , &s[i].score01);

		fscanf(fp , "%d " , &s[i].score02);

		fscanf(fp , "%d " , &s[i].total);

		/*

		fprintf(fp , "%d " , s[i].id);

		fprintf(fp , "%s " , s[i].name);

		fprintf(fp , "%d " , s[i].score01);

		fprintf(fp , "%d " , s[i].score02);

		fprintf(fp , "%d " , s[i].total);

		fputc('\n' , fp);

		*/

		i++;

	}

	

	i = 0;

	while(i<3){

		

		printf( "%d "  , s[i].id);

		printf("%s " , s[i].name);

		printf("%d " , s[i].score01);

		printf( "%d " , s[i].score02);

		printf( "%d " , s[i].total);

		putc('\n' , fp);

		

		i++;

	}



	fclose(fp);

}

28-7

#include <stdio.h> 

int main()

{

	//FILE fopen("路径+文件名" , "打开方式") fclose(指针) fputc(字符 , 文件);

	//1.创建文件结构指针

	//2.\	\t  \n  \--转义字符 

	FILE *fp = fopen("C:\\Users\\Lenovo\\Desktop\\1.txt" , "a") ;//位置名字  打开方式:r读 w写 a追加 

	

	if(fp == NULL){//空值 

		puts("文件打开失败!");

	}else{

		puts("文件打开成功!");

	}

	

	//写入内容

	char ch;

	puts("请输入字符,回车结束");

	ch = getchar();

	while(ch != '\n'){

		fputc(ch , fp);

		ch = getchar();

	}

	

	puts("操作成功");

	

	//fclose

	fclose(fp);

}

28-8

#include <stdio.h>

/*

	1.fputs("sssss" , fp) 



*/

int main()

{

	//打开文件  

	FILE *fp = fopen("C:\\Users\\Administrator\\Desktop\\2.txt" , "a");

	if(fp == NULL){

		puts("文件不存在");

	}else{

		puts("文件打开成功~~~~~~"); 

	}

	//helloworld

	//数组

	char ch[100] ;

	puts("请输入字符串的内容:");

	

	gets(ch);//回车键的时候才停止读入内容 1501 王虎  89 

	

	//将读入的内容写到文件中

	fputs(ch , fp) ;

	

	puts("操作成功~~~~~~~~~"); 

	fclose(fp) ;

	

}

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值