プログラミングtips

基本的なお役立ち情報 とか.主にCとPerl.

[Linux] シェルから拡張子を取り除いたファイル名を取得する(Bash)

  • abc.txt から abc のみを得たい場合
  • ワイルドカードを利用したforループをするとき等に便利
  • 例: カレントディレクトリに「abc.txt」「def.txt」「ghi.txt」が存在する場合
    $ for file in *.txt
    > do
    > echo ${file%.*}
    > done
    変数名の隣に「%.*」を加えることで拡張子を取り除くことができる
    abc
    def
    ghi
  • 参考: bashスクリプトだけで、ファイル名、拡張子を取得する - 作業ノート : http://d.hatena.ne.jp/te2u/20090327/p1

[C] Windows x64 + MinGW + gcc で long double の挙動がおかしい?

  • MinGW + gcc 環境で,long double 型の変数を printf するとおかしい数値が表示される問題.( 19690185614481596000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000とか)
  • 原因は MinGW が Microsoft の msvcrt.dll に依存していて,long double を double と同じビット数であると認識してしまうことによるもの.
  • 解決策として,printf を __mingw_printf に書き換えればOK
    #define printf __mingw_printf
    とする.
  • 参考: c - printf and long double - Stack Overflow : http://stackoverflow.com/questions/4089174/printf-and-long-double
トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS