#include
#include
/*C语言 将键盘输入的字符写入文件*/
int main(int argc, char* argv[])
{
FILE *fp; //文件指针
char str1[50],str2[50]; //定义两个字符串变量
int i; //定义一个整形变量
gets(str1); //获取从键盘输入的字符,保存到 str1
gets(str2); //获取从键盘输入的字符,保存到 str2
fp = fopen("f1801.txt", "w"); //以写入的方式打开文件
if(fp==NULL){printf("文件打开失败!";exit(1);} //如果打开失败就退出返回1
for( i=0; str1[i]!='\0'; i++ ) //一个一个写进文件
fputc(str1[i],fp);
for( i=0; str2[i]!='\0'; i++ )
fputc(str2[i], fp);
fclose(fp); //关闭文件
printf("输入的内容已经写入文件!");
return 0;
}
#include
#include
/*C语言 统计文件中大小写字母个数*/
int main(int argc, char* argv[])
{
FILE *fp; //文件指针
char c;
int num_big = 0, num_small = 0, num_char = 0;
fp = fopen("f1802.txt", "r"); // 以只读的方式打开文件
if(fp==NULL){printf("文件打开失败!");exit(1);} //如果打开失败就退出返回1
while(1) //循环计数
{
c = fgetc(fp); //一次读取一个字符
if(c==EOF)break; //到文件尾则退出循环
if(c>='A' && c <='Z') num_big++; //对大写字母计数
if(c>='a' && c <='z') num_small++; //对小写字母计数
num_char++; //总数
}
fclose(fp); //关闭文件
printf("大写字母有%d个\n小写字每有%d个\n总共有%d个字符\n", num_big, num_small, num_char);
return 0;
}
#include
#include
/*C语言 两个文件之间的复制 复制文件*/
int main(int argc, char* argv[])
{
FILE *fp1, *fp2; //两个文件指针
char c;
fp1 = fopen("f1802.txt", "r"); //以只读的方式打开文件
if(fp1==NULL){printf("文件1打开失败!");exit(1);} //打开文件失败退出返回1
fp2 = fopen("f1805.txt", "w");
if(fp2==NULL){printf("文件2打开失败!");exit(1);}
while(1) //循环计数
{
c = fgetc(fp1); //一次读取一个字符
if(c==EOF) break; //到文件尾则退出循环
if(c>='A' && c<='Z') fputc(c, fp2); //将大写字母写入到文件2
}
fclose(fp1); //关闭文件
fclose(fp2); //关闭文件
printf("已完成操作!");
return 0;
}
#include
#include
/*C语言 结构体和文件操作写入文件*/
typedef struct //学生结构体
{
char name[10];
char sex[5];
int age;
}STUDENT;
int main(int argc, char* argv[])
{
STDENT b[5]; //结构体数组
int num, i;
FILE *fp;
for( i = 0; i < 5; i++ ) //输入五个学生结构体变量内容
scanf("%s %s %d", b[i].name, b[i].sex, &b[i].age);
fp = fopen("f1806.db", "wb"); //以二进制写入方式打开文件
if(fp==NULL){printf("文件写打开失败");exit(1);} //打开文件失败退出返回1
for( i=0; i<5; i++ )
fwrite(&b[i], sizeof(b[i]),1, fp); //以1个sizeof(b[i])块写入到fp中
fclose(fp); //关闭文件
printf("已经写入完成\n");
return 0;
}
#include
#include
#include
/*C语言 结构体和文件操作读取文件*/
typedef struct
{
char name[10];
char sex[5];
int age;
}STUDENT;
int main(int argc, char* argv[])
{
STUDENT c[10]; //结构体数组
int num, i;
FILE *fp;
fp = fopen("f1806.db", "rb"); //以二进制读取方式打开文件
if(fp==NULL){printf("文件读打开失败");exit(1);} //打开文件失败退出返回1
num = 0;
while(fread(&c[num], sizeof(c[num]),1,fp)==1)num++; //从文件fp中一次读取1个sizeof(c[num])块的大小到c[num]中
fclose(fp);
for( i=0; i
//if(strcmp(c[i].sex, "男")==0) printf("%s %d\n", c[i].name, c[i].age); //输出男人的年龄
printf("%s %d\n", c[i].name, c[i].age);
}
#include
#include
/*将文件1中的小写字母转成大写字母写入到文件2中*/
int main(int argc, char* argv[])
{
FILE *fp; //文件指外
int num=0, i;
char c, str[200];
fp = fopen("f1808.txt", "r"); //以读方式找开文件
if(fp==NULL){printf("文件打开失败1");exit(1);}
while(1)
{
c = fgetc(fp); //一次读取一个字符
if(c==EOF) break; //到文件尾则跳出
str[num] = c;
num++;
}
fclose(fp); //关闭文件
for( i=0; i
if(str[i]>='a' && str[i]<='z') str[i] = str[i]-32; //小写转成大写
fp = fopen("f1808.txt", "w"); //以写方式打开文件
if(fp==NULL){printf("文件打开失败2");exit(1);}
for( i=0; i
fputc(str[i], fp); //逐个写入文件
fclose(fp); //关闭文件
printf("文件中的小写字母已经转成了大写字母!");
return 0;
}
#include
#include
/*将两个文件合并成一个文件*/
FILE* openfile(FILE *fp, char* name, char* mode)
{
fp = fopen(name, mode);
if(fp==NULL){printf("文件打开失败");exit(1);}
return fp;
}
int main(int argc, char* argv[])
{
FILE *fp1, *fp2, *fp3; //文件指针
char c;
fp1 = openfile(fp1, "f18091.txt", "r"); //以只读的方式打开文件
fp2 = openfile(fp2, "f18092.txt", "r");
fp3 = openfile(fp3, "f18093.txt", "w");
while(1)
{
c = fgetc(fp1);//一次读取一个字符
if(c==EOF) break;//到文件尾则跳出
fputc(c, fp3); //写入文件
}
while(1)
{
c = fgetc(fp2);//一次读取一个字符
if(c==EOF) break;//到文件尾则跳出
fputc(c, fp3);//写入文件
}
fclose(fp1); //关闭文件
fclose(fp2);
fclose(fp3);
printf("操作完成\n");
return 0;
}
#include
#include
#include
/*结构体文件操作 将结构体其中一成员加1(C语言结构体读取和写入操作)*/
typedef struct //定义STUDENT结构体
{
char name[10];
char sex[5];
int age;
}STUDENT;
int main(int argc, char* argv[])
{
STUDENT c[10]; //定义结构体变量
int num, i;
FILE *fp; //文件指针
fp = fopen("f1806.db", "rb"); //以读方式打开文件
if(fp==NULL){printf("文件读打开失败");exit(1);}
num = 0;
while(fread(&c[num],sizeof(c[num]), 1, fp)==1) num++; //读取文件内容到结构体变量
fclose(fp); //关闭文件
for( i=0; i
c[i].age++; //将结构体一成员加1
fp = fopen("f1806.db", "wb"); //以写方式打开文件
if(fp==NULL){printf("文件写打开失败");exit(1);}
for( i=0; i
fwrite(&c[i], sizeof(c[i]),1,fp);
fclose(fp);
for( i=0; i
printf("%s %d\n", c[i].name, c[i].age);
return 0;
}