0

「Applicat」という単語を見つけて、その単語だけでなく、その行全体を別のものに置き換える短い C コードを作成しようとしています。たとえば、次のような test.txt ファイルがあります。

お名前: お試し

申請者:何か

日付: 今日

私の現在のコードは「Applicat」という単語を見つけて「Applicat: ft_link」に置き換えますが、「何か」はまだそこにあります。次のようにするにはどうすればよいですか。

お名前: お試し

申請者: ft_link

日付: 今日

?

または、これを行う簡単な方法はありますか?

前もって感謝します!

これが私のコードの主要部分です:

 char buffer[512];
 while (fgets(buffer, sizeof(buffer), input) != NULL)
 {

 static const char text_to_find[] = "Applicat:";

 static const char text_to_replace[] = "Applicat: ft_link";

 char *pos = strstr(buffer, text_to_find);
 if (pos != NULL)
 {

 char *temp = calloc(
 strlen(buffer) - strlen(text_to_find) + strlen(text_to_replace) + 1, 1);

 memcpy(temp, buffer, pos - buffer);

 memcpy(temp + (pos - buffer), text_to_replace, strlen(text_to_replace));

 memcpy(temp + (pos - buffer) + strlen(text_to_replace),
 pos + strlen(text_to_find),
 1 + strlen(buffer) - ((pos - buffer) + strlen(text_to_find)));

 fputs(temp, output);

 free(temp);
 }
4

1 に答える 1