在main函数中创建一个文件,将键盘输入的字符串写入文件中。打开该文件,读出字符串,将字符串中除了下标为偶数且ASCII码值为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的新串存放到另一个文件中。
代码如下:
#include <stdio.h>
int main()
{
int i,j;
char buf[100],buf2[100];
FILE* fp1,*fp2;
printf("请输入字符串:");
gets(buf);
fp1 = fopen("a.txt","w");//写入a.txt
fprintf(fp1,"%s",buf);
fclose(fp1);
printf("成功写入a.txt\n");
//打开文件读文件
fp1 = fopen("a.txt","r");
if(fp1==0)
{
printf("a.txt打开失败\n");
return 0;
}
fgets(buf2,100,fp1); //读取一行
printf("读取成功,读取的字符串为:%s\n",buf2);
//只保留下标为偶数且ASCII码值为奇数的字符
i=0;
j=0;
while(buf2[i]!='\0')
{
if(i%2==0 && buf2[i]%2==1)
buf2[j++] = buf2[i];
i++;
}
buf2[j]='\0';
printf("处理后的字符串:%s\n",buf2);
//写入文件
fp2 = fopen("b.txt","w");
fprintf(fp2,"%s",buf2);
fclose(fp2);
printf("成功写入b.txt\n");
return 0;
}
哪个地方有困难呢
回答:C语言文件的读写哈,这边借用菜鸟教程里面的例子直接讲解
https://www.runoob.com/cprogramming/c-file-io.html
#include <stdio.h>
#include <string.h>
int main()
{
char input[40];
FILE *fp = NULL;
fp = fopen("test.txt", "w+");
scanf("%s", input);
fprintf(fp, input);
fclose(fp);
char buff[40];
fp = fopen("test.txt", "r");
fscanf(fp, "%s", buff);
fclose(fp);
int i;
char edit_result[40];
int index = 0;
for(i=0;i<strlen(buff);i++){
if(i%2 == 0 && buff[i]%2 == 1){
edit_result[index] = buff[i];
index++;
}
}
fp = fopen("edit_result.txt", "w+");
fprintf(fp, edit_result);
fclose(fp);
}