1.文件综合程序
#include<stdio.h>
int main()
{
char str[20];
char ch;
int n,i;
FILE *fp;
printf("Input filename:");
scanf("%s",str);
printf("Input n:");
scanf("%d",&n);
printf("Output:\n");
fp=fopen(str,"r");
if(fp==NULL)
{
printf("Open Error!\n");
return 0;
}
for(i=0;i<n;i++)
{
ch=fgetc(fp);
printf("%c",ch);
}
printf("\n");
fclose(fp);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
void save(int n);
void out(void);
int main(void)
{
int n;
printf("Input n:");
scanf("%d", &n);
save(n);
out();
return 0;
}
void save(int n)
{
/******start******/
FILE *fp;
int i,cnt=0;
fp=fopen("lb8204.txt","w");
if(fp==NULL)
{
printf("File Open Error!\n");
return 0;
}
for(i=1;i<=1000;i++)
{
if(i%10==7||i%7==0||i/10%10==7||i/100%10==7)
{
fprintf(fp,"%4d",i);
cnt++;
if(cnt==n)
{
fclose(fp);
return ;
}
else if(cnt%10==0)
{
fprintf(fp,"\n");
}
}
}
fclose(fp);
/******end******/
}
void out(void)
{
char str[48];
char *pch = NULL;
FILE *fp;
fp = fopen("lb8204.txt", "r");
if (fp == NULL)
{
exit(0);
}
printf("Output:\n");
while (!feof(fp))
{
pch = fgets(str, 48, fp);
if (pch == NULL)
{
break;
}
printf("%s", str);
}
printf("\n");
fclose(fp);
}
#include<stdio.h>
#include<string.h>
struct good
{
char name[20];
char type[12];
int num;
float prize;
};
int main()
{
char str[20];
FILE *fp;
int i=0,flag,n;
struct good goods[100];
printf("Please input shang pin pin ming:");
scanf("%s",str);
printf("Output:\ncha zhao qing kuang:\n");
fp=fopen("sp.dat","rb");
if(fp==NULL)
{
printf("File Open Error!\n");
return 0;
}
while(!feof(fp))
{
fread(&goods[i],sizeof(struct good),1,fp);
i++;
}
n=i;
flag=0;
for(i=0;i<n;i++)
{
if(strcmp(goods[i].name,str)==0)
{
printf("%s,%s,%d,%.2f\n",goods[i].name,goods[i].type,goods[i].num,goods[i].prize);
flag=1;
}
}
if(flag==0)
{
printf("mei you shang pin %s",str);
}
fclose(fp);
return 0;
}
#include <stdio.h>
int main(void)
{
int i, start, end, sum = 0;
int a[50];
FILE *fp;
printf("Input start and end:");
scanf("%d%d", &start, &end);
printf("Output:\n");
fp = fopen("lb8104.dat", "rb");
if (fp == NULL)
{
printf("File Open Error!\n");
return 0;
}
fread(a, sizeof(int), 50, fp);
for (i = start - 1; i <= end - 1; i++)
{
sum += a[i];
}
printf("%d\n", sum);
return 0;
}
#include<stdio.h>
int main()
{
int n,i;
FILE *fp;
char a[12];
printf("Input n:");
scanf("%d",&n);
printf("Output:\n");
fp=fopen("lb8102.txt","r");
if(fp==NULL)
{
printf("File open Error!\n");
return 0;
}
for(i=0;i<n*8;i++)
{
fgets(a,11,fp);
}
for(i=0;i<8;i++)
{
fgets(a,11,fp);
printf("%s",a);
}
fclose(fp);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
void save(char str[20], int n);
void prnt(char str[20], int n);
int main()
{
int n;
char str[20];
printf("Input filename:");
scanf("%s", str);
printf("Input n:");
scanf("%d", &n);
save(str, n);
prnt(str, n);
return 0;
}
void save(char str[20], int n)
{
/******start******/
FILE *fp;
int f1=1,f2=1,i;
fp=fopen(str,"wb");
if(fp==NULL)
{
printf("File Open Error!\n");
return 0;
}
fwrite(&f1,sizeof(int),1,fp);
fwrite(&f2,sizeof(int),1,fp);
for(i=0;i<n/2;i++)
{
f1=f1+f2;
f2=f1+f2;
fwrite(&f1,sizeof(int),1,fp);
fwrite(&f2,sizeof(int),1,fp);
}
fclose(fp);
/******end******/
}
void prnt(char str[20], int n)
{
int i, te;
FILE *fp;
fp = fopen(str, "rb");
if (fp == NULL)
{
exit(0);
}
printf("Output:\n");
for (i = 0; i < n; i++)
{
fread(&te, sizeof(int), 1, fp);
printf("%d ", te);
}
printf("\n");
fclose(fp);
}
#include<stdio.h>
int main()
{
int a[50],sum=0,n,i;
FILE *fp;
printf("Input n:");
scanf("%d",&n);
printf("Output:\n");
fp=fopen("lb8101.txt","r");
if(fp==NULL)
{
printf("File Open Error!\n");
return 0;
}
for(i=0;i<50;i++)
{
fscanf(fp,"%d",&a[i]);
}
for(i=50-n;i<50;i++)
{
sum+=a[i];
}
printf("%d\n",sum);
fclose(fp);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
void readfile(char filename[128], char file[100][204], int *totalline);
void findstr(char file[100][204], char str[24], int *firstline, int *lastline, int totalline);
int main(void)
{
int i;
int totalline, firstline, lastline;
char filename[128], str[24];
char file[100][204];
printf("input the file's name and the string: ");
scanf("%s%s", filename, str);
printf("Output:\n");
readfile(filename, file, &totalline);
printf("------------------------File content:----------------------\n");
for (i = 0; i < totalline; i++)
{
puts(file[i]);
}
printf("------------------------File summary:----------------------\n");
findstr(file, str, &firstline, &lastline, totalline);
printf("%d lines, first line: %d, last line: %d\n", totalline, firstline, lastline);
return 0;
}
void readfile(char filename[128], char file[100][204], int *totalline)
{
int i, j;
FILE *fp;
fp = fopen(filename, "r");
if (fp == NULL)
{
printf("\nfile open error!");
exit(0);
}
i = 0;
j = 0;
while (!feof(fp))
{
file[i][j] = fgetc(fp);
if (file[i][j] == '\n')
{
file[i][j] = '\0';
i++;
j = 0;
continue;
}
j++;
}
file[i][j - 1] = '\0';
*totalline = i + 1;
fclose(fp);
}
void findstr(char file[100][204], char str[24], int *firstline, int *lastline, int totalline)
{
int i, j, k, flag = 0;
for (i = 0; i < totalline; i++)
{
for (j = 0; file[i][j] != '\0'; j++)
{
for (k = 0; str[k] != '\0'; k++)
{
if (str[k] >= 'a' && str[k] <= 'z')
{
if (file[i][j + k] != str[k] && file[i][j + k] != str[k] - 32)
{
break;
}
}
else if (str[k] >= 'A' && str[k] <= 'Z')
{
if (file[i][j + k] != str[k] && file[i][j + k] != str[k] + 32)
{
break;
}
}
else
{
if (file[i][j + k] != str[k])
{
break;
}
}
}
if (str[k] == '\0')
{
if (flag == 0)
{
*firstline = i + 1;
flag = 1;
}
*lastline = i + 1;
}
}
}
if (flag == 0)
{
*firstline = -1;
*lastline = -1;
}
}