- ベストアンサー
置き換えのプログラム
c言語初心者です。 入力されたタブを\tに置き換えて、入力全体を出力するプログラムを、 #include <stdio.h> main() { int c; while((c=getchar())!=EOF){ if(c=='\t') printf("\\t"); putchar(c); } } と書いて実行できたのですが、入力した文字(タブ、空白、改行などは除く)を¥(バックスシュラッシュ)に置き換えて出力するプログラムにするためには、どのように書き換えればよいのでしょうか? どなたかご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>・・入力した文字(タブ、空白、改行などは除く)を¥(バックスシュラッシュ)に置き換えて出力するプログラムにするためには、・・ ↑そのまんま、にしてみました。 参考 http://e-words.jp/p/r-ascii.html #include <stdio.h> int main() { int c; while( ( c = getchar() ) != EOF ){ if( c == ' ' ) continue; // 空白は除く if( c == '\t' ) continue; // タブ 〃 if( c == '\n' ) continue; // 改行 〃 c = 0x5c; // 「¥(バックスシュラッシュ)に置き換え」 putchar( c ); } return( 0 ); }
その他の回答 (1)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
if ( c == '\t' ) を if ( c が タブ/空白/改行など ) を意味するコードにすればいい。
お礼
返事が遅れてしまい申し訳ありません。 ご回答ありがとうございました。
お礼
返事が遅れてしまい申し訳ありません。 うまく動かすことができました。ありがとうございました。