C/C++

リターンコードの確認コマンドとテスト用プログラム

Windows系OSでプログラムを実行した際のリターンコード確認コマンド echo %errorlevel% ついでにC言語で作ってみた簡単なテストプログラム #include <stdio.h> int main(){ /* リターンコード初期化 */ int return_num = 0; /* リターンコード入力 */ printf("input r</stdio.h>…

定数クラスを作る。

とりあえず初歩的なことだけどメモ代わり #defineを使うか微妙なところだけど、 折角クラスが使えるので定数クラスを作る。 class ConstValue{ public: const int dummy; }; const int ConstValue::dummy = 0; 使うときはJavaなんか(ConstValue.dummy)と違っ…

C言語 エンディアン + メモリーダンプ、書き直してみた。

とりあえず書き直してみた。 #define MAX_LINE 8void memdump(char* addr, int length) { int cnt = 0; int i; for(i = 0; i if(MAX_LINE == cnt){ cnt = 0; printf("\n"); } printf("%2x\f", *addr); addr++; cnt++; } printf("\n"); return; }void int_end…

FizzBuzz その5 しつこくダメコードにしてみる。

今回もしつこくFizzBuzzです。 しつこくFizzBuzzを書いてる理由としては意味はないんですが、 ダメコードを書いてたらやたらテンションが上がってきたで・・・ まあネタは今回を含めてあと2つなんで勘弁してください。 じゃ、今回のダメコードいってみまし…

FizzBuzzテスト その4 さらにダメコードにしてみる。

とりあえず意味もなく再起関数化してみた。 int main(void) { module(1); return 0; }void module(int i){ if(((i % 3) == 0) && ((i % 5) == 0)){ printf("FizzBuzz\n"); }else if((i % 3) == 0){ printf("Fizz\n"); }else if((i % 5) == 0){ printf("Buzz\…

FizzBuzzテスト その3 あえてダメコードにしてみる。

とりあえずforループを使わないようにしてみた。 int i = 1; loop: if(((i % 3) == 0) && ((i % 5) == 0)){ printf("FizzBuzz\n"); }else if((i % 3) == 0){ printf("Fizz\n"); }else if((i % 5) == 0){ printf("Buzz\n"); }else{ printf("%d\n", i); } i++;…

FizzBuzzテスト その1?

「転職活動する暇があったらブログを書け」 http://jibun.atmarkit.co.jp/ljibun01/cs/200909/02/01.htmlとりあえずFizzBizzテストをC/C++で書いてみた。 for(i = 1; i if((i % 3) == 0){ printf("Fizz"); } if((i % 5) == 0){ printf("Bizz"); } if((i % 3)…

とりあえずメモリダンプでも書いてみる。

例によってコンパイルしてません。 なのでちゃんと動くかどうかも不明ですが メモリダンプを書いてみた。 #define LINE_MAX 8void m_dump(const char* s_addr, unsigned int length) { /* s_addrはDumpを開始するメモリのアドレス */ /* lengthはDumpするメ…

とりあえずエンディアン変換でも書いてみる。Union編

あんまりUnion使った変換好きじゃないけど、 ポインタ使ったパターンをど忘れしたためとりあえず。 union d_convert_c { double eight_byte; char one_byte[8] }double endianness(const double* base) { /* とりあえず宣言 */ d_convert_c temp1, temp2; in…

とりあえずエンディアン変換でも書いてみる。

test_type endianness(test_type a) { test_type b = 0; /* とりあえず反転させたデータ入れ */ char *a_char, *b_char; /* ここは初期化しなきゃなあ・・・ */ int i = 0; /* ループカウンタ */ /* とりあえずポインタを放り込む */ a_char = &a; b_char = …