タグ

C言語に関するmfhamのブックマーク (14)

  • C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog

    はじめに こんにちは、Go界のシャールト・コプリーです。気がついたら最後のエントリから3ヶ月も経ってました。 Goを始めると「なんでこういう書き方になってるんだろう」とか、「そもそもなんでこういう仕様になってるんだろう」とか思うことがちらほらあると思います。これは大いにGoの作者の一人であるRob Pike氏の思想に依るところがあるのが見受けられます。彼のプログラムに対する考え方が25年前に公開され「Pike Style」として知られていますが、いまもその考え方は大きくは変わっていないと思われます。せっかくなので翻訳しました。文はC言語に関する文章ですがその質は言語に依らないものだと思います。 Notes on Programming in C (追記)25年前なのでコンパイラの動作に依存する部分(includeに関する記述)などは古い部分もありますが、プログラミングスタイルに関する部

    C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog
  • C言語関数辞典 - ctype.h

    ctype.h には文字の種類の判定や文字の変換を行うための関数が宣言されています. ctype.h で宣言されている関数はすべて int 型の引数を持ちます.この引数は unsigned char 型で表現可能か,EOF の値に等しい値である必要があります.(それ以外の値であった場合の動作は未定義です.) このことから,これらの関数を呼び出す前に引数を unsigned char 型にキャストしてから関数に渡すテクニックがよく使われます. ctype.h で定義されている関数は isdigit 関数,isxdigit 関数以外はすべてロケール (locale) の影響を受けます. 文字種分類関数 関数名概要備考

  • プログラマ専用SNS ミクプラ - 検索

    ... { if (*it == ',') { result.push_back(negative ? -currentValue : currentValue); currentValue = 0; parsing = false; negative = false; } else if (isdigit(static_cast<unsigned char>(*it))) { currentValue = currentValue * 10 + (*it - '0'); parsing = true; } else if (*it == '-') { negative = true; ...

  • 文字の扱い方

    第1項:文字列を扱う変数 第2項:文字を扱うには 第3項:文字コード 第4項:文字に対する計算 [1]文字列を扱う変数 これまで、プログラム中で何回も文字列を扱ってきたのですが、 何故か、文字列を記憶する変数は1度も説明したことがありませんでした。 その理由は簡単です。C言語には文字列を記憶する変数がないからです。 文字列用の変数がないのは、文字列が特殊な性質を持つためです。 文字列は、何文字になるのかが事前に予測出来ません。 5文字程度で済むこともあれば、何千文字という文字数になることもあります。 この様に、場合によって必要とされるメモリのサイズが異なってくるのです。 この様な事情があるため、C言語には文字列用の変数がありません。 [  他の言語では  ] C言語以外の多くの言語は、次の方法で文字列変数を用意しています。 1、メモリを固定的に確保(文字数が制限される上

  • isdigit - プログラマ専用SNS ミクプラ

    { CString num; m_ed.GetWindowText(num); if(isdigit(atoi(num))==0){ MessageBox("数字を入力せよ"); m_ed.SetWindowText(" "); } } エデットボデックスに入力した文字列が数字じゃなければエデットボックスの中身を空にするという 簡単なプログラムですが・・例えば6を入れた場合numの中身は"6"でatoiの戻り値は6になっております。 しかしisdigitの戻り値は0になります。 何故でしょうか?

  • 数値か文字かの判定の仕方を知っている方がいっらしゃたら、知恵をお貸しください。 - 数値か文字かの判定の仕方を知っている方がいっら... - Yahoo!知恵袋

    前の質問から考えると、数値か文字かの判定ではなく、数字か文字かの判定だと思いますので、数字と文字の判定方法でお答えします。 int IsNum(char *moji) { int i; int ret = 0; for(i=0; moji[i]; i++){ if( (moji[i] < '0') || (moji[i] > '9') ){ ret = 1; /* 数字以外の文字あり */ break; } } return(ret); } この関数は数字だけなら0を返して、数字以外があると1を返します。 小数点への対応が必要な場合には、自分なりに工夫を加えて見ましょう。 余談ですがC言語を説明する時に、数値・数字の言い回しには、気をつけないと混乱を招いてしまいます。 数値=int・float型を代表に、数だけが記録できる変数 数字= 一般的に文字列(char型配列)等に、数のデータを文字

    数値か文字かの判定の仕方を知っている方がいっらしゃたら、知恵をお貸しください。 - 数値か文字かの判定の仕方を知っている方がいっら... - Yahoo!知恵袋
  • isdigit - OKWAVE

    >ifの中に入らないのですが >どうしてでしょうか? isdigit()は「引数が'0'~'9'の範囲ならtrueを返す」つまり「引数が48~57の範囲ならtrueを返す」と言う仕様です。 atoi()は「文字列を数字の並びと解釈して、数値に変換する」と言う仕様です。 従って「atoi(s)」や「atoi("5")」は「5」を返します。 なので「isdigit(atoi(s))」や「isdigit(atoi("5"))」は「isdigit(5)」と同じです。 isdigit()は「引数が48~57の範囲ならtrueを返す」ので引数が「5」の場合はfalseを返します。 falseは0と等しいですから「(isdigit(atoi(s)) != 0)」は「(false != 0)」つまり「(0 != 0)」と同じです。 「0 != 0」の演算結果はfalseですから「if(isdigit(at

    isdigit - OKWAVE
  • VisualStudioのインデント整理|4GET ME NOT

  • C言語講座:ソート

    サイトマップ / C言語講座>出入り口>総目次>目次:ソート 目次:ソート [バグ対策]←ソート→[ヒープ領域] 低速なものから高速なものまで、様々なソート(並び替え)のアルゴリズムについて学びます。

  • [法大奥山研究室]C言語:13.2. 標準入力:argc, argv, scanf, fscanf

    13.2. 標準入力:argc, argv, scanf, fscanf 次は,標準入力です。標準入力には,コマンドラインからの入力と相手にたずねる場合の2通りがあります。 ■コマンドラインからの入力 int main(int argc, char *argv[]) { /* 体 */ } 変数 argc には,コマンドラインに入力(標準入力)された文字列の個数(argument count)が入ります。また,argv[argc] は NULLポインタ(空ポインタ)であり,argc が 0 より大きい場合,argv[0] にはプログラム名が入ります。[C99, 5.1.2.2.1](argv は「ポインタの配列」です。)例えば, % ./a.out this is a test. と実行した場合,argc = 5 となり,argv[0] には ./a.out,argv[1] には thi

  • 配列の使い方

    <戻る  目次  進む> 第1項:初期値の代入 第2項:全要素の表示 第3項:要素数を求める 第4項:配列のコピー [1]初期値の代入 配列も、今までの変数と同様に、宣言と同時に初期化することが出来ます。 配列の初期化は、次のようにして行います。 型名 配列名[要素数]={0番の数値,1番の数値,2番の数値,・・・}; {}で囲んだ中に順番に,で区切って数値を並べます。 全てを指定する必要はないので、数値の個数は、配列の要素数以下にします。 配列の要素数よりも少ない場合、残りには全て0が代入されます。 次のプログラムは、配列を初期化して表示する例です。 #include <stdio.h> int main(void) { int array[10] = {42,79,13}; printf("array[0] = %d\n",array[0]); printf("array[

  • http://www.g-ishihara.com/c_ar_02.htm

  • HugeDomains.com

    Captcha security check hitorilife.com is for sale Please prove you're not a robot View Price Processing

  • GNU Octave: 5.2 検索と置換

  • 1