#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#include<string.h>
int sub_char (const char* fname, char symb);
void main(void)
{
char word;
FILE*fp;
clrscr();
char fname[128];
char symb;
int task;
clrscr();
printf("Input name of file:");
gets(fname);
strcat(fname,".txt");
const char *fname1=fname; //creating the file with txt attribute
if((fp=fopen(fname1,"w+"))==NULL){
printf ("Cannot open the file.\n");
exit(1);
}
printf("Input the string:\n");
do{
word=getche();
if (word==' ')word=',';
if (word=='\r')
{word='/N';putc('\n',stdout);}
if(word!=0x1B)putc(word,fp);
}
while(word!=0x1B);
putc('?',fp);
fclose(fp);
printf("\n");
printf ("Enter the symbol for substitution to *");
symb = getche();
printf("\n");
task=sub_char(fname, symb);
printf ("New content of the file is the following:\n");
fseek(fp,0,0);
do {
word=fgetc(fp);
putc(word,stdout);
}
while (word!=0x1B);
getch();
return;
fp=fopen(fname,"r");
if (fp==NULL)
{
printf("\n Unable to open the file!\n");
getch();
return;
}
fclose(fp);
printf("Press any key to exit\n");
getch();
}
int sub_char (const char* fname, char symb)
{
FILE *fp;
char word;
fp=fopen(fname,"r"); //checking the ability to open the file
if (fp==NULL)
{
printf ("Unable to open the file\n");
getch();
return 0;
}
do
{
word=getc(fp);
if (word == symb)
{
word='*';
fputc(word,fp);
fseek(fp,0,1);
}
}
while(word!=0x1B);
return 0;
}
(C)Проблема с заменой символов в созданном файле
Код моей программы:
Код:
Файл успешно создается, туда записывается текст. Проблема с заменой на символ '*'.
Код:
if (word == symb)
Может кто то знает напишите,пожалуста, мне завтра эту программу надо показать
напиши ошибку, а если взять номер ошибки и пойти в мсдн,то можно найти и прочесть о её причинах возникновения.