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) ;
}