生物物理計算化学者の雛

主に科学に関する諸々を書き留めています。

プログラミング

C言語の全角文字コメント行がコンパイルエラーを起こすことがある

エラーを引き起こすコメント行 とあるC言語のプログラムを Windows 上の Visual Studio 2008 で編集・作成し、完成したソースコードを Linux マシンにコピーし gcc でコンパイルしてデータ処理を実行という流れで作業を行っていました。その際に、ある全角…

Altキーを押しながらマウスドラッグで列選択(縦方向の選択)が可能

多くのテキストエディタ(terapad, Microsoft Word, Microsoft Visual Studio等)では、Altキーを押しながらマウスドラッグすることで列方向(縦方向)の選択を行うことが可能です。 (ただしWindows7標準のメモ帳ではできません) これを使うと以下のように…

C言語のprintf文の出力フォーマット使い方例

C言語のprintf文は出力フォーマットを柔軟に指定することができるので、使いこなせると便利です。知っておくと便利な例を下に記述します。特にsprintf関数はchar型配列に出力結果の文字列を渡すことができ何かと便利です。 #include <stdio.h> void main(){ int i1 =</stdio.h>…

C言語でいろいろなフォーマットのテキストファイルを読むプログラム例

C言語でテキストファイルに書き込まれているデータを読み込むプログラムの例をいくつか記述しておきます。fscanf()関数を使うと楽に記述できるケースもありますが、思い通りに fscanf() が動作してくれないことがありますので、ファイルから1行ずつ文字列…

複数ファイルの列データを1ファイルにまとめる

下記のように複数のファイル(ファイル名はd1.txt, d2.txt, d3.txtとする)に列データが分散している状態から、単一ファイルにまとめるシェルコマンド・スクリプトを紹介します。 cat d*.txt ==> d1.txt <== 1.00 11.575308 2.00 11.388116 3.00 11.786263 4…

.cshrcと.bashrcのHadoop関連設定

ちょくちょくcshとbashの両方の設定ファイル(.cshrc, .bashrc)を書く必要があり、そのたびにそれぞれ環境変数の設定やらif文やらの書き方やらが違って混乱するので、まとめておきます。 cshの場合 if ( `hostname` =~ hd* || `hostname` == hserver ) then…

1の補数と2の補数を取り違えていたせいで半日を浪費・・・

Haodop の可変長int型である VIntWritable クラスによって出力したバイナリデータをC言語で読み込むルーチンを作成したのですが、バイナリデータを数値に変換する際に、 VIntWritable は負数を2の補数でなく1の補数で出力していたことに気付かなかったた…