c

文字列の先頭又は最後にある任意の文字を取り除く

c

在り来たりな C 言語の課題、ポインタ、、、ポインタ(*)はまだ少しは分かりますが、ポインタのポインタ(**)になると、世界が一気に広がるような気がして私は使わないようにしていました。ポインタのポインタについて難しく考えないように以下のように言われ…

文字列から数値への変換

c

呼称: 文字列から数値への変換 目的: 文字列を数値へ変換する 特徴: strtol()/strtoul() を使用するとエラーを検出できる 用例: どこでも、いつでも 備考: errno を検査する必要がある*1C 言語で文字列から数値への変換はよく使う処理です。数値として計算す…

C 言語で split 処理を関数化したらコピペの方が良いと言われた

c

区切り文字があるデータ構造を分割する場合、Python なら以下のように split メソッドを使用すれば良いです。 $ python -c "print 'a,b,c,33,e'.split(',')" ['a', 'b', 'c', '33', 'e'] $ python -c "print 'a,,c,,e'.split(',')" ['a', '', 'c', '', 'e'] …

文字列からトークンの切り出し

c

呼称: 文字列からトークンの切り出し 目的: 文字列からデリミタでトークンに分解する 特徴: デリミタの文字の候補は複数指定することができる 用例: 設定ファイルのキーと値の取得、文字列のカラム取得 備考: スレッドセーフな strtok_r() を推奨大学のある…

文字列の大文字・小文字の変換

c

呼称: 文字列の大文字・小文字の変換 目的: 文字列を全て大文字、又は小文字へ変換する 特徴: 引数として与えた文字列を直接、書き換える 用例: 文字列の比較演算の前処理や出力のフォーマット整形等 備考: 状況に応じて void 型と char* 型を使い分ける設定…

パスワードの入力

C 言語でパスワードのような標準入力から入力された文字を表示しないプログラムのサンプルを作成してみました。ioctl() で、termio 構造体の c_lflag(ローカル・モード・フラグ)を変更することによって、容易に端末の ECHO 属性を変更できるようです。ioctl…

getopt を用いたオプションからの文字列置換

c

5年振りに C 言語のプログラムを書いています(^ ^;; 「実行する実コマンドをユーザから分からないように難読化したい。」というあんまり幸せになれなさそうな要件があって、サンプルを作成してみました。本当は *cmd[] の中身は暗号化文字列に変換するのです…