C言語について質問です。
C言語について質問です。 文字列と、引数を入力して、入力された文字列内の引数以降を削除した文字列に変換する関数(入力した引数が文字列の中に複数ある場合、1番後ろの引数以降を削除)をつくり、削除されたあとの文章を表示するプログラムの作り方を教えてください。 例) 入力する文字列 yahoochiebukuro 削除する文字 u 変換後の文字列 yahoochiebuk よろしくお願いします。
ベストアンサー
次のようなプログラムでいかがでしょうか。 -- #include <stdio.h> #define BUF_SIZE 1024 int main(void) { printf("入力する文字列 "); char str[BUF_SIZE]; fgets(str, BUF_SIZE, stdin); printf("削除する文字 "); char c = getchar(); char* target_p = NULL; for(char* p = str; *p != '\0'; p++) { if(*p == c) target_p = p; } if(target_p != NULL) *(target_p + 1) = '\0'; printf("変換後の文字列 %s", str); return 0; }
1人がナイス!しています
回答ありがとうございます。 まだ#defineとfgetは使わないような方向で書くことはできませんか?むちゃなお願いだとは思いますがよろしくお願いします。説明不足ですみません
質問者からのお礼コメント
ありがとうございます。あーばさんのようにプログラミングが書けるようこれからも勉強を続けていきます。また、質問することがあるかと思いますがよろしくお願いします。
お礼日時:7/7 0:56