在VC6.0环境下,用C/C++编写文件读写程序: 5
在VC6.0环境下,用C/C++编写文件读写程序:准备一个文本文件“姓名学号1.txt”,内容为”/”间隔的字符串1aaa/2bbbbbbbbb/3ccccccccccc...
在VC6.0环境下,用C/C++编写文件读写程序:
准备一个文本文件“姓名学号1.txt”,内容为”/”间隔的字符串
1 aaa/2 bbbbbbbbb/3ccccccccccc/4 dddddddddd/5 eeeeeeeeeee/6 ffffffffff
编第一个函数,功能是一个字符一个字符的读文本文件,根据”/”间隔组合成一个单词,在屏幕上显示,然后输出到另一个文件“姓名学号2.txt”,结果如下:
1 aaa
2 aabbbbbbbb
3 ccccccc
4 dddddddddd
5 eeeeeeeeeee
6 ffffffffffff
编第二个函数,功能是一次从文件“姓名学号2.txt”读两个单词,将小写字母变成大写字母并在屏幕上显示,然后输出到另一个文件“姓名学号3.txt”,结果如下:
1 AAA
2 BBBBBBBBB
3 CCCCCCCCC
4 DDDDDDDDDDD
…
要求:
多文件编程,主函数在一个文件main学号,函数1为一个文件,函数2一个文件。 展开
准备一个文本文件“姓名学号1.txt”,内容为”/”间隔的字符串
1 aaa/2 bbbbbbbbb/3ccccccccccc/4 dddddddddd/5 eeeeeeeeeee/6 ffffffffff
编第一个函数,功能是一个字符一个字符的读文本文件,根据”/”间隔组合成一个单词,在屏幕上显示,然后输出到另一个文件“姓名学号2.txt”,结果如下:
1 aaa
2 aabbbbbbbb
3 ccccccc
4 dddddddddd
5 eeeeeeeeeee
6 ffffffffffff
编第二个函数,功能是一次从文件“姓名学号2.txt”读两个单词,将小写字母变成大写字母并在屏幕上显示,然后输出到另一个文件“姓名学号3.txt”,结果如下:
1 AAA
2 BBBBBBBBB
3 CCCCCCCCC
4 DDDDDDDDDDD
…
要求:
多文件编程,主函数在一个文件main学号,函数1为一个文件,函数2一个文件。 展开
1个回答
展开全部
/* ------------------- File1.c ---------------------*/
void readfile1(char *filename1, char *filename2){
FILE *fin, *fout;
char word[100], ch;
int i=0;
fin=fopen(filename1,"r");
fout=fopen(filename2,"w");
fscanf(fin,"%c", &ch);
while(!feof(fin)){
if(ch=='/'){
word[i++]='\0';
printf("%s\n", word);
fprintf(fout,"%s\n", word);
i=0;
}else{
word[i++]=ch;
}
fscanf(fin,"%c", &ch);
}
word[i]='\0';
printf("%s\n", word);
fprintf(fout,"%s\n", word);
fclose(fin);
fclose(fout);
}
/* ------------------- File2.c ---------------------*/
#include<stdio.h>
#include<stdlib.h>
void readfile2(char *filename1, char *filename2){
FILE *fin, *fout;
int xh, i=0;
char word[100], ch;
fin=fopen(filename1,"r");
fout=fopen(filename2,"w");
fscanf(fin,"%d", &xh);
while(!feof(fin)){
fscanf(fin,"%s", word);
for(i=0; ch=word[i]; i++)
if(ch>='a' && ch<='z')
word[i]-=32;
printf("%d %s\n", xh, word);
fprintf(fout,"%d %s\n", xh, word);
fscanf(fin,"%d", &xh);
}
fclose(fin);
fclose(fout);
}
/* ------------------- File3.c ---------------------*/
#include<stdio.h>
#include<stdlib.h>
extern void readfile1(char *filename1, char *filename2);
extern void readfile2(char *filename1, char *filename2);
int main(void)
{
char fn1[]="姓名学号1.txt";
char fn2[]="姓名学号2.txt";
char fn3[]="姓名学号3.txt";
readfile1(fn1, fn2);
readfile2(fn2, fn3);
return 0;
}
void readfile1(char *filename1, char *filename2){
FILE *fin, *fout;
char word[100], ch;
int i=0;
fin=fopen(filename1,"r");
fout=fopen(filename2,"w");
fscanf(fin,"%c", &ch);
while(!feof(fin)){
if(ch=='/'){
word[i++]='\0';
printf("%s\n", word);
fprintf(fout,"%s\n", word);
i=0;
}else{
word[i++]=ch;
}
fscanf(fin,"%c", &ch);
}
word[i]='\0';
printf("%s\n", word);
fprintf(fout,"%s\n", word);
fclose(fin);
fclose(fout);
}
/* ------------------- File2.c ---------------------*/
#include<stdio.h>
#include<stdlib.h>
void readfile2(char *filename1, char *filename2){
FILE *fin, *fout;
int xh, i=0;
char word[100], ch;
fin=fopen(filename1,"r");
fout=fopen(filename2,"w");
fscanf(fin,"%d", &xh);
while(!feof(fin)){
fscanf(fin,"%s", word);
for(i=0; ch=word[i]; i++)
if(ch>='a' && ch<='z')
word[i]-=32;
printf("%d %s\n", xh, word);
fprintf(fout,"%d %s\n", xh, word);
fscanf(fin,"%d", &xh);
}
fclose(fin);
fclose(fout);
}
/* ------------------- File3.c ---------------------*/
#include<stdio.h>
#include<stdlib.h>
extern void readfile1(char *filename1, char *filename2);
extern void readfile2(char *filename1, char *filename2);
int main(void)
{
char fn1[]="姓名学号1.txt";
char fn2[]="姓名学号2.txt";
char fn3[]="姓名学号3.txt";
readfile1(fn1, fn2);
readfile2(fn2, fn3);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询