在main函数中创建一个文件,将键盘输入的字符串写入文件中。打开该文件,读出字符串。将字符串中的大写字母转换成小写字母,删除指定的子串,并输出子串出现的次数,串中剩余字符所形成的新串存放到另一个文件中。要求:子串由键盘输入,不区分大小写。
时间: 2023-03-30 16:01:57 浏览: 142
可以回答这个问题。以下是代码示例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define MAX_LEN 100
int main() {
char filename[100];
printf("请输入要创建的文件名:");
scanf("%s", filename);
FILE *fp = fopen(filename, "w");
if (fp == NULL) {
printf("创建文件失败!\n");
exit(1);
}
char str[MAX_LEN];
printf("请输入要写入文件的字符串:");
scanf("%s", str);
fprintf(fp, "%s", str);
fclose(fp);
fp = fopen(filename, "r");
if (fp == NULL) {
printf("打开文件失败!\n");
exit(1);
}
char new_filename[100];
printf("请输入要存放新串的文件名:");
scanf("%s", new_filename);
FILE *new_fp = fopen(new_filename, "w");
if (new_fp == NULL) {
printf("创建文件失败!\n");
exit(1);
}
char sub_str[MAX_LEN];
printf("请输入要删除的子串:");
scanf("%s", sub_str);
int sub_len = strlen(sub_str);
int count = ;
char c;
while ((c = fgetc(fp)) != EOF) {
if (isupper(c)) {
c = tolower(c);
}
if (strncmp(&c, sub_str, sub_len) == ) {
count++;
continue;
}
fputc(c, new_fp);
}
fclose(fp);
fclose(new_fp);
printf("子串出现的次数为:%d\n", count);
return ;
}
阅读全文