ファイルから文字を読み込んで文字列を変換する
ファイルから文字を読み込んで文字列を変換したいのですが
読み込み元が改行されていた場合がうまく変換できません。
読み込み元が改行されている事を教えればうまく行くと思うのですがどのようにすれば出来ますか?
出来ればソースの書き込みお願いします。
---以下ソース---
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int hen(char *buf, char *mae, char *ato);
void main(void){
FILE *fp;
char *f1="赤<br>と<br>白<br>";
char *h1="黄と黒";
char buf[200];
char set[200];
fp = fopen("ren2.html", "r+");
while( fgets( set, 200, fp ) != NULL ){
strcpy(buf,set);
while(hen(buf, f1, h1));
printf("%s", buf);
}
fclose(fp);
}
int hen(char *buf, char *mae, char *ato){
char *nw;
size_t zen,go;
zen = strlen(mae);
go = strlen(ato);
if(zen == 0 || (nw = strstr(buf, mae)) == NULL){
return 0;
}
memmove(nw + go, nw + zen, strlen(buf) - (nw + zen - buf ) + 1);
memcpy(nw, ato, go);
return 1;
}
---ソースここまで---
---ren2.htmlの内容---
<html>
<head>
<title>練習</title>
</head>
<body>
赤<br>
と<br>
白<br>
</body>
</html>
---ren2.htmlここまで---