1、小型数据库
1 #include <stdio.h> 2 #include <stdlib.h> 3 #define N 100 4 5 struct student{ 6 int no; 7 char name[12]; 8 int score; 9 }s[N]; 10 11 int main() 12 { 13 int n; 14 scanf("%d",&n); 15 /* 保存 */ 16 FILE *fp; 17 fp = fopen("DATA5614.DB","wb"); 18 scanf("%d%s%d", &s[0].no,s[0].name,&s[0].score); 19 fprintf(fp,"%d %s %d ", s[0].no,s[0].name,s[0].score); 20 int max = s[0].score, index = 0; 21 for(int i=1; i<n; ++i) 22 { 23 scanf("%d%s%d", &s[i].no,s[i].name,&s[i].score); 24 fprintf(fp,"%d %s %d ", s[i].no,s[i].name,s[i].score); 25 if(s[i].score>max){ 26 max = s[i].score; 27 index = i; 28 } 29 } 30 /* rewind */ 31 rewind(fp); 32 /*读取 */ 33 fp = fopen("DATA5614.DB","rb"); 34 struct student stu; 35 for(int i=0; i<=index; ++i) 36 { 37 fscanf(fp,"%d%s%d", &stu.no,stu.name,&stu.score); 38 } 39 printf("%d %s %d", stu.no,stu.name,stu.score); 40 fclose(fp); 41 return 0; 42 }
2、检查图像文件格式
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 int main() 6 { 7 char arr[100]=""; 8 char JFIF[]="JFIF"; //6 9 char GIF89a[]="GIF89a";//0 10 char PNG[]="PNG";//1 11 12 FILE *fp; 13 fp = fopen("DATA5609.DAT","rb"); 14 fread(arr,sizeof(unsigned char),100,fp); 15 /* */ 16 if(0 == strncmp(&arr[6],JFIF,4)) 17 printf("%s ",JFIF); 18 else if(0 == strncmp(&arr[0],GIF89a,6)) 19 printf("%s ",GIF89a); 20 else if(0 == strncmp(&arr[1],PNG,3)) 21 printf("%s ",PNG); 22 else 23 printf("NULL "); 24 fclose(fp); 25 return 0; 26 }
3、重组字符串
1 #include<stdio.h> 2 #include <string.h> 3 #define N 100 4 void fun(char *s, char *t); 5 int main() 6 { 7 char s[N] = "", t[N] = ""; 8 gets(s); 9 fun(s,t); 10 printf("%s",t); 11 return 0; 12 } 13 void fun(char *s, char *t){ 14 int index = 0; 15 for(int i=0; s[i]; ++i){ 16 if(i%2&&s[i]%2) 17 t[index++] = s[i]; 18 } 19 t[index] = '