#include <stdio.h>
#include<string.h>
 
int main(void)
{
FILE *fp1, *fp2;
char fname1[256], fname2[256], fname3[256], str[256];
int ch, line, col, linecnt=1, colcnt=1, out=0;
 
printf("filename:"); scanf("%s", fname1);
if ((fp1 = fopen(fname1, "rt")) == NULL) {
printf("Can't open input file(%s)\n", fname1);
return 1;
}
strcpy(fname2, fname1);
strcat(fname2, ".out");
if ((fp2 = fopen(fname2, "w")) == NULL) {
printf("Can't open output file(%s)\n", fname2);
fclose(fp1);
return 1;
}
 
strcpy(fname3, fname1);
strcat(fname3, ".bak");
remove(fname3);
 
printf("insert string:"); scanf("%s", str);
printf("insert line:"); scanf("%d", &line);
printf("insert col:"); scanf("%d", &col+1);
 
while ((ch = fgetc(fp1)) != EOF) {
if (out == 0 && line == linecnt && col == colcnt){
fprintf(fp2,"%s\n",str);
out = 1;
}
fputc(ch,fp2);
if (ch == '\n') {
linecnt++;
colcnt = 1;
}else{
colcnt++;
}
}
 
fclose(fp1);
fclose(fp2);
 
rename(fname1, fname3);
rename(fname2, fname1);
 
return 0;
}