タグ

Cに関するyuuyuu_0523のブックマーク (34)

  • C言語関数辞典 - puts

    puts 関数は標準出力に s が指す文字列を書き込みます.(出力の最後に自動的に改行文字を追加します.) 文字列の終端ナル文字 ('\0') の書き込みは行いません. 引数 s: 書き込みたい文字列 戻り値 書き込み成功時: 正の値 書き込み失敗時: EOF C言語サンプルプログラム puts 関数を使用して標準出力に文字列を書き込むサンプルプログラムを以下に示します. /* header files */ #include <stdio.h> #include <stdlib.h> /* main */ int main(void) { char *writeline = "Snoopy"; puts(writeline); return EXIT_SUCCESS; } 実行例 サンプルプログラムの実行結果は以下のようになります. Snoopy Cプログラマの必読書 たくさんあるC言語

  • 文字列入出力

    文字列専用の関数を使う printf()関数やscanf()関数は非常に汎用的な関数です しかし、scanf()関数で話した様に、文字列の入力や出力に必ずしも向いているとは言えません C言語の標準関数には、文字列の入出力専用の関数が用意されています たとえば、文字列を標準出力へ出力する場合は、printf()よりも適任であると言えます 文字列を出力するにはputs()関数を使用します int puts( const char 文字列へのポインタ ); 引数には出力する文字列を指定します 戻り値は正常に終了した場合負でない値を、失敗した場合はEOFを返します puts()関数は、ヌル文字を改行文字に置き換えて出力します つまり文字列の終端で、自動的に改行してくれると言うことです #include <stdio.h> int main() { puts("Kitty on your lap")

  • 標準出力関数(2)

    第8章 標準出力関数(2) 標準入出力関数には第5章で説明した printf() や scanf() の他にも 下のように 1文字専用の入出力関数と 1行専用の入出力関数が用意されています。 標準入力 getchar():1文字入力 gets():1行入力 scanf():書式付き入力 putchar():1文字出力 puts():1行出力 printf():書式付き出力 尚、標準入出力関数を使用するには、#include <stdio.h> が必要です。 「#include」については「18-2.#include」 を参照してください。 8-1.getchar() キーボードから1文字入力 (書き方)

  • XORShiftの逆算 - ichirin2501's diary

    XORShiftされた値を逆算する機会がありましたのでメモ書きです。 y = x ^ (x << t) のとき、y ,t が分かってるとして、xを求めたい。 x << t の値は下位t桁は必ず0になっているから、 y & ((1 << t) - 1) と x & ((1 << t) - 1) は等しい。 また、x << tの t桁 ~ 2*t - 1桁目も y & ((1 << t) - 1) と等しい。 今回は x = 22, t = 3 を例として下記に示す。 x = 000010110 x << 3 = 010110000 y = 010100110 y & ((1 << 3) - 1) = ______110 x & ((1 << 3) - 1) = ______110 x << 3 の 3桁 ~ 5桁目 = ___110___ この時点で判明してるのは、y と x << t の

    XORShiftの逆算 - ichirin2501's diary
  • Find DWORD Size

  • sizeof演算子

    せりか式 - C 言語チュートリアル - sizeof演算子 sizeof演算子について検索してくる人が多いようなので,真面目にsizeof演算子についても書いておくことにします. 簡単に言うと,sizeofに渡された型や変数のメモリサイズを調べるものです. sizeof演算子は2種類の使い方があります. sizeof(型) sizeof 変数や定数,あるいは式など 前者の型を与える方は特に悩む必要は無いと思います. 単に指定した型が利用するメモリサイズを返すものです. 問題は,後者の変数や定数を渡す方です. sizeofに変数を渡した場合,その変数名で確保されているメモリサイズを返します.

  • fread

    ファイルから size バイトのデータを n 個読み込み 【書式】 #include <stdio.h> size_t fread(void *buf, size_t size, size_t n, FILE *fp); 【説明】 ファイルfpからsizeバイトのデータをn個読み込み、bufに格納します。ファイル位置指示子を読み込んだデータバイト分進めます。エラーが発生した場合にはファイル位置指示子の値は不定です。 【引数】 void *buf : 読み込みデータ格納先のポインタ size_t size : 読み込みデータのバイト長さ size_t n : 読み込みデータの数 FILE *fp : FILEポインタ 【戻り値】 正常時 : 読み込んだデータ個数(バイトではありません) ファイル終了時及びエラー時 : nより小さな値 【使用例】 #include <stdio.h> #inc

  • http://www.sat.t.u-tokyo.ac.jp/~omi/random_variables_generation.html

    http://www.sat.t.u-tokyo.ac.jp/~omi/random_variables_generation.html
  • fileIO

    ファイルとは ファイルとは,文字や数字などの羅列を,ハードディスクやCD-ROM などに記憶させるために ひとまとまりにしたもので,通常データのやり取りはファイルを通して行います. 内部でどうなっているかは,このさいあまり考えないことにして,どうすれば必要な情報を 保存したり読み込んだりできるかについてだけ説明します. ファイルを開く 計算機上でファイルを使えるようにすることを「ファイルを開く」といいます.われわれが, プログラムから扱えるのはメモリー空間ですので,ハードディスクやフロッピーディスク などの中にあるファイルはメモリー空間上のどこかと関連付けないといけません. とはいっても,こちらは 命令を 一つ送れば,あとは機械が勝手にやってくれます. 大事なことは ファイルは開かなきゃ使えない ということです. 使う関数は fopen で, stdio.h をインクルードする必要がありま

  • C言語ポインタのしくみ 5 アドレス演算子(&)と間接演算子(*)

    Next: 6 ポインタ変数 Up: C言語ポインタのしくみ - コンピュータのしくみとポインタの関係 - Previous: 4 変数へのアクセス 5 アドレス演算子(&)と間接演算子(*) プログラミング言語は名前を使って変数への代入やその参照をするように作られています.しかし,2節で簡単に説明したように,実用的なプログラムを作成する場合にはそれだけでは十分ではありません.C言語ではアドレスを介して変数にアクセスすることもでき,それを実現する手段として2つの演算子( & と * )が用意されています. & は変数が割り当てられているメモリのアドレスを得る演算子で「アドレス演算子」と呼ばれています.例えば,変数 x が 1000 番地に割り当てられていたとすると &x の値は 1000 になります.このとき,&x を「変数 x への『ポインタ』」あるいは「変数 x を指す『ポインタ』」と

  • C-Production – UNIXとプログラミングの備忘録

    大変ご無沙汰です。約1年半ぶりの更新です。 昨日、ブログを設置しているサーバでOSのアップデートに問題が発生したため、これを機に新サーバ・新OSに乗り換えることにしました。 現在のブログがマルチサイトのため、そのままでは新サーバの構築に苦戦すると予想されるため、他のブログの記事を統合しました。 統合内容は以下の通りです。 ・C-Production ・・・ メインサイトのため、他のブログを吸収して継続。 ・♪8thNote♪ ・・・ メインサイトに統合済みだったので、削除。 ・モバイル魂 ・・・ メインサイトに記事を引き継ぎ、並行稼働中。 ・無線のドキュメント ・・・ もともと閉鎖予定だったので、そのまま削除 外部SNSのアカウントについてはそのまま継続します。 今後ともよろしくお願いします。

  • gdb の使い方・デバッグ方法まとめ

    たとえば、変数 var の値を2進数で表示したい場合は、次のように指定します。 (gdb) p/t var 一覧表示 whatis 変数の型を調べる。 info b 今設定しているブレークポイントの一覧を表示 セグメントフォルトをした後に利用すれば、どの関数で発生したか確認できます。 info stack 関数の呼び出しスタックの一覧を表示 info Thread 存在しているスレッドの一覧を表示 異なるアドレスにおける処理継続 以下のコマンドを使用することで、ユーザが選択したアドレスにおいて実行を継続させることができます jump linespec linespecで指定される行において、実行を再開 jump *address addressで指定されるアドレスにある命令から、実行を再開 アドレスが分かっている場合のメモリリーク出力 xはhexの意味です。 (gdb) p (char*)

    gdb の使い方・デバッグ方法まとめ
  • gdb - コマンド (プログラム) の説明 - Linux コマンド集 一覧表

    gdb [ -help ][ -nx ][ -q ][ -batch ][ -cd= dir ] [ -f ][ -k ][ -wcore ][ -b bps ][ -tty= dev ][ -s symfile ] [ -e prog ] [ -se prog ] [ -c core ] [ -x cmds ] [ -d dir ] [ prog [ core | procID ]] GDB をはじめとするデバッガは、プログラムが実行中もしくはクラッシュした時にその プログラムの ``内部'' で何が行なわれているか/行われていたかを調べるのに 使用されます。 GDB は、4 つの機能 (加えてこれらをサポートする機能) によって 実行中にバグを見つけることを手助けします。 » プログラムの動作を詳細に指定してプログラムを実行させる。 » 指定した条件でプログラムを停止させる。 » プロ

  • コンパイラ(gccコマンド)の使い方

    gccはジーシーシーと読む.GNUが作成し,UNIX,Windowsなどで動作するフリー のコンパイラである. ここでは,C言語をコンパイルする際のgccの利用方法を説明するが,C++の場合 にはgccというところをg++に変更すればほぼそのまま利用可能である. イタリック体は,実行時には適当に変えること.ここでは,サンプルとし て,test.cをコンパイルしてtest.o(オブジェクトファイル)または test(実行ファイル)を作成する場合についての説明をする. 主なオプション一覧 -g   (コンパイル,リンク時) コンパイル,リンク時にDEBUG情報を付加する.dbx,gdbなどのデバッガ を使用するときに必要. -c   (コンパイル時) コンパイルのみ行う(オブジェクトファイルを生成する). ex: gcc -c test.c   → test.oを生成 -o test.o  (