C语言——文件内容的读取与替换操作
要点:1、fgetc() 字符读取操作2、fgets()字符串读取操作(整行读取)3、is系列函数:如isupper(c)和islower(c)4、fputs()函数写入字符int replaceBlankAndBig(int argc, char* argv[]){char c;FILE *fin, *fout;fin = fopen("The_Holy_Bi
·
要点:
1、fgetc() 字符读取操作
2、fgets()字符串读取操作(整行读取)
3、is系列函数:如isupper(c)和islower(c)
4、fputs()函数写入字符
int replaceBlankAndBig(int argc, char* argv[]){
char c;
FILE *fin, *fout;
fin = fopen("The_Holy_Bible.txt", "r");
if (!fin) {
perror("The_Holy_Bible.txt");
return;
}
fout = fopen("The_Holy_Bible_Res.txt", "w");
if (!fout) {
perror("The_Holy_Bible_Res.txt");
return;
}
while ((c = fgetc(fin)) != EOF) {
//if (isupper(c) || islower(c)) //大小写互换!
if (isupper(c))
c ^= 0x20;
else if (ispunct(c))
//else if (c==','||c=='.')
c = ' ';
fputc(c, fout);
}
fclose(fin);
fclose(fout);
return 0;
}
int cnt(int argc, char* argv[]){
char c;
FILE *fin, *fout;
int cnt_char = 0, cnt_word = 1, cnt_line = 1;
fin = fopen("The_Holy_Bible_Res.txt", "r");
if (!fin){
perror("The_Holy_Bible_Res.txt");
return;
}
char str[1000];
int i;
while ((fgets(str, 1000, fin)) != NULL){
for (i = 0; i < strlen(str); ++i){
if (!isspace(str[i]))
cnt_char++;
if (isspace(str[i]))
cnt_word++;
if (str[i] == '\n')
cnt_line++;
}
}
printf("chars:%d\nwords:%d\nlines:%d\n",cnt_char, cnt_word,cnt_line);
fclose(fin);
return 0;
}
常用的文件操作函数:
更多推荐



所有评论(0)