変化を求める人

C言語(win32api)で文字列の置換。改善の余地あり

      2015/07/06

コピー → 置換 → ペースト。
ある文字列をコピーした際、既定した文字列で自動で置換し、そのまま貼る。

例えば、
大なり(>)や小なり(<)を含む文章を投稿するとき、それらをコピペすると自動でエスケープ文字に変換するといったことを自分でやってみたかった。

機能としてはしょぼいけど、とりあえず置換の流れとしてはこんな感じ?

とりあえず、今の知識で作ってみた。
もっと安全性や効率などは上げられると思うけど、とりあえず動いたから今はいいや。

普段はJavaなので、mallocとかfreeとかの使い方に不安が拭えない。memmoveとかもなんとなく怖い。
文字の扱いが大変。関数の使い方はこれでいいのか?

もっと色々な言語を学んだ方がいいとは思っているけど、なかなか続かない。
Rubyとかにもちょっと手を出してみたけど、もう忘れた・・・

コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB DB PRESS plus)

この本はなかなか面白かった。
どうして if文 などの文法ができたのか。エラー処理とかいう面倒なものはなぜ出来たのか?ちゃんと意味があったんだということが分かり面白かった。
プログラミング初心者の人は読んでみるのもいいと思います。

追記

一括置換のプログラムを書き換えてみた。
最初に置換文字列が何個含まれるか確認し、メモリの確保を1回にした。
とりあえず、速度は速くなった。

メモリ確保の際、終端文字分(+1)を忘れることが結構あるので注意したい。

 - C/C++ , ,

スポンサーリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

「>」、「<」を含む文字列をコピーしたら自動でエスケープ文字にするアプリを作った

以前、文字列置換の記事でちょこっと書いたものを実際に作ってみた。クリップボードの …

Unicode?Ansi?Windowsでの文字列の表現が紛らわしい

エディットコントロールを作る際に「文字列リテラル」について考えたこと。 定義した …

エディットコントロールにクリップボードの内容を出力してみた

今回はテキスト入力を処理する「エディットコントロール」を作ってみた。 前回取得し …

クリップボードの内容を取得しよう→_crtisvalidheappointerエラーで落ちる

前回の記事でClipboardを取得する際に発生したエラーについて こちらのペー …

クリップボードの内容を取得してみた

何を書けばいいのかわからなくなってきた。 行動指針が見つからない。今、自分は何を …