検索結果 327 件

by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: c++
返信数: 6
閲覧数: 2888

Re: c++

空欄以外で、ということであれば... #include <iostream> int main() { std::cout << std::cin.rdbuf(); } // 1 // 2 // 3 // 4 // 5 // 6 // 7 // 8 // 9 // 10 // 11 // 12 // 13 // 14 // 15 // 16 // 17 // 18 // 19 // 20 // 21 // 22 // 23 // 24 // 25 // 26 // 27 // 28 // 29 // 30 // 31 // 32 // 33 // 34 // 35 // 36 // 37 //...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: この文法は何と呼びますか?
返信数: 6
閲覧数: 2083

Re: この文法は何と呼びますか?

ぽんた さんが書きました:INFO info;
と記述がある場合、これは何という名称の記述方法でしょうか。
このような質問ははじめてみました。
強いていうなら「(変数の)宣言」でしょう。
もう少し具体的に、「(変数の)定義」ということもできます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 別ファイルのクラスのスタティック変数(関数)の参照について
返信数: 7
閲覧数: 5813

Re: 別ファイルのクラスのスタティック変数(関数)の参照について

何か根本的な勘違いをしているような...

クラスの静的メンバは、publicであればどこからでもアクセスできます。
protectedやprivateであっても、翻訳単位に関わらず、そのクラスのメンバ関数からならアクセス可能です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: c言語のコマンドライン引数を使った文字の判別のプログラム
返信数: 8
閲覧数: 5421

Re: c言語のコマンドライン引数を使った文字の判別のプログラム

non さんが書きました:
たかぎ さんが書きました:
沖 滉均 さんが書きました:Cだと途中で変数の宣言はできないはずですのでコンパイルも通らないと思うのですが
そんなことはありません。
沖 滉均 さんが書きました:ちょっとうろ覚えですが、argv[2]はchar*型ですからchar型には入れられない(…はず)です。
代入可能です。
前者はC99の場合は、ということでしょうが、後者はどういう意味でしょうか?
前者については、C99以降ですので、現行規格のC11でも可能ですね。
後者についてですが、ポインタ型の値は整数型に暗黙的に型変換されますので、代入可能です。
セマンティックスが正しいかどうかは文脈次第です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: c言語のコマンドライン引数を使った文字の判別のプログラム
返信数: 8
閲覧数: 5421

Re: c言語のコマンドライン引数を使った文字の判別のプログラム

沖 滉均 さんが書きました:Cだと途中で変数の宣言はできないはずですのでコンパイルも通らないと思うのですが
そんなことはありません。
沖 滉均 さんが書きました:ちょっとうろ覚えですが、argv[2]はchar*型ですからchar型には入れられない(…はず)です。
代入可能です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: リスト構造の問題なのですが;
返信数: 6
閲覧数: 2762

Re: リスト構造の問題なのですが;

エラーの直接の原因は、おそらくC++としてコンパイルしようとしていることでしょう。
Cとしてコンパイルすれば、発生しているエラーは消えるはずです。
ただし、少なくとも、もう一か所問題点があります。
32行目の%%は&&の間違いではないでしょか?
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: すみません。2つめですが…課題教えてください!
返信数: 17
閲覧数: 4628

Re: すみません。2つめですが…課題教えてください!

日付も昇順にするのであれば、次のようにすればOKですね。 #include <cstdlib> #include <stdexcept> #include <utility> #include <map> #include <string> #include <iostream> #include <fstream> #include <functional> int main(int argc, char* argv[]) try { if (argc != 2) throw std::invalid_argument("no input files"); std::ifstream ifs...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: すみません。2つめですが…課題教えてください!
返信数: 17
閲覧数: 4628

Re: すみません。2つめですが…課題教えてください!

かずま さんが書きました:入力データは時系列とあり、出力イメージで同じ枚数の日付が行内でもやはり
時系列なっているんですが、たかぎさんのプログラムでは逆順になってしまいました。
イメージはあくまでもイメージなので、まあいいかと考えました。
入力データに関しては、nonさんが指摘されているように量の問題があるのと、枚数の上限が見えないことですね。
さすがに一日に何十億枚も消費することはないだろうということでunsigned longにしました。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: すみません。2つめですが…課題教えてください!
返信数: 17
閲覧数: 4628

Re: すみません。2つめですが…課題教えてください!

とりあえず作ってみました。 言語不明、入力データの詳細不明なので、こちらで適当に決めました。 #include <cstdlib> #include <stdexcept> #include <utility> #include <map> #include <string> #include <iostream> #include <fstream> int main(int argc, char* argv[]) try { if (argc != 2) throw std::invalid_argument("no input files"); std::ifstream ifs(arg...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 読み込んだファイルの内容を書き換えて表示するプログラム
返信数: 4
閲覧数: 1969

Re: 読み込んだファイルの内容を書き換えて表示するプログラム

みけCAT さんが書きました:よくqsort用の比較を引き算で実装している説明がありますが、オーバーフローの危険があるのでダメです。
今回に限れば、1~100までの値しかないようなので引き算でも十分ですね。
それと、1~100までしかないのであれば、まともにソートするより、100要素の配列に入れてから順番に出力する方がよい気がします。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 学校での課題です!
返信数: 3
閲覧数: 1766

Re: 学校での課題です!

情弱崖っぷち さんが書きました:F-basic以外のプログラムで解け
では、F-basicのプログラムを作って貼り付けてみてください。
別の言語に移植するだけなら簡単なので、誰かがやってくれるのでは?
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: すみません。2つめですが…課題教えてください!
返信数: 17
閲覧数: 4628

Re: すみません。2つめですが…課題教えてください!

背水の陣 さんが書きました: 2009/3/19 170 2010/8/21  170
2008/8/16 169 2010/3/27  169
2009/9/1 168
2009/8/1  166 2010/11/22 166
2009/8/6  165
2011/2/17 164
2010/3/9 163
全角スペースが入ったり入らなかったりするようですが、どんなルールがあるのでしょうか?
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 課題教えてください!
返信数: 7
閲覧数: 2788

Re: 課題教えてください!

背水の陣 さんが書きました:原因は、C言語ではfor文の中で変数宣言ができないという理由のようです。
原因がわかっているのなら、それぐらいは自分で解決してください。
背水の陣 さんが書きました:びすさんのはエラーは起こっていません。
pにも反応します。
ただ、これが正解なのかは確信が持てませんが…
正しくないことだけは指摘しておきます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 課題教えてください!
返信数: 7
閲覧数: 2788

Re: 課題教えてください!

背水の陣 さんが書きました:びすさん、たかぎさん。
ありがとうございました。
お二人のおかげで何とか解決できそうです!
そういわれるのなら、それでもかまいませんが...
自分で確認した上でそういっていますか?
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: すみません。2つめですが…課題教えてください!
返信数: 17
閲覧数: 4628

Re: すみません。2つめですが…課題教えてください!

背水の陣 さんが書きました:この課題については、何から始めたら良いのかすら分かりません。
出力イメージが本当にこれで正しいのかどうか確認するところから始めましょう。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 課題教えてください!
返信数: 7
閲覧数: 2788

Re: 課題教えてください!

私も作ってみました。 void Push(DATA* s,char n){ DATA *ptr = malloc(sizeof(DATA)); if (ptr != NULL) { *ptr = (DATA){ .num=n, .next=s->next }; s->next = ptr; } } char Pop(DATA* s){ DATA *ptr = s->next; s->next = ptr->next; char result = ptr->num; free(ptr); return result; } void PrintStack(DATA* s){ for (DATA *...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムがどんな処理をしているのか理解できません。
返信数: 22
閲覧数: 5710

Re: このプログラムがどんな処理をしているのか理解できません。

本当にソースコードが理解できないときは、私は次のようにしています。
分からない箇所のソースコードを1行ずつ消していくのです(コメントアウトでも可)。
単純に消すだけではコンパイルエラーになるかもしれないので、そこは適当に調整する必要はあります。

1行ずつ消したとき、どんな影響が出るかを調べれば、その行が何のためにあるのかが分かりやすくなります。
ゲームの場合は影響が比較的分かりやすいので、この方法はかなり有効だと思います。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムがどんな処理をしているのか理解できません。
返信数: 22
閲覧数: 5710

Re: このプログラムがどんな処理をしているのか理解できません。

まみ さんが書きました:雰囲気では、わかるのですが本当にこれでいいのかとわからないんで
やはり正確な解説が聞きたいです。
プログラムの一行一行に解説コメントを書いてくれませんか?
では、雰囲気でわかったことを一行一行コメントで書いてみては?
間違っていれば、誰かが正確な解説をしてくれるでしょうし、間違っていなければそれでOKといってくれるでしょう。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: インクルードができません
返信数: 1
閲覧数: 1287

Re: インクルードができません

普通に考えて一番可能が高いのは、bcc32.cfgがちゃんと設定できていない上に、オプションでもインクルードディレクトリを指定していないことでしょう。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++ newによる確保の大きさ.
返信数: 11
閲覧数: 7914

Re: C++ newによる確保の大きさ.

takumi@0832080.com さんが書きました:今回のお題とは関係無いですが,構造体にコンストラクタ/デストラクタがあったのは知らなかったです.
捕捉有難うございます.
C++では、構造体はクラスの一種です(もっといえば共用体もクラスの一種です)。
ですので、コンストラクタやデストラクタも持てますし、それ以外のメンバ関数も持てます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を比較したいのですが
返信数: 3
閲覧数: 1647

Re: 文字列を比較したいのですが

こんな感じです。

コード:

int strcmp(const char *s1, const char *s2)
{
     while (*s1 != '\0' && *s1 == *s2)
     {
          ++s1;
          ++s2;
     }
     return (int)((unsigned char)*s1 - (unsigned char)*s2);
}
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++ newによる確保の大きさ.
返信数: 11
閲覧数: 7914

Re: C++ newによる確保の大きさ.

処理系にもよるので一概には言えないのですが... 配列に対するnewの場合、要素の型がC互換型でなければ、配列の直前に要素数が挿入される実装が多いようです。 具体的には... struct A { ~A(); }; int main() { A* ptr = new A[10]; delete[] ptr; } とした場合、new A[10]で割り付けられるサイズはsizeof(A[10])ではなく、少なくともsizeof(A[10])+sizeof(std::size_t)になるというわけです。 (実際には、要素数はstd::size_t型ではないかもしれませんし、境界調整の関係で詰め物が入...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の出力について
返信数: 20
閲覧数: 5743

Re: C言語の出力について

http://java.sun.com/j2se/1.4/ja/docs/ja ... Robot.html
↑で何とかなりませんか?
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください
返信数: 4
閲覧数: 1372

Re: 教えてください

!(^^)! さんが書きました:上から箇条書きで説明できますか?
できます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 基本int型のサイズ(byte数)はOSのdata bus のサイズと同じ??
返信数: 5
閲覧数: 2766

Re: 基本int型のサイズ(byte数)はOSのdata bus のサイズと同じ??

OSのdata busというのがよくわかりませんが... 基本的には、CPUのアキュムレータまたは汎用レジスタのサイズと同じだと思います。 ただ、本来であれば64ビットにすべきだけれど、後方互換性のために32ビットにしている場合も多々あります。 実際、64ビットのWindowsでは、少なくともよく使われている処理系については、int型は64ビットではなく32ビットです。 MacOSやLinuxでも同じです。 ローエンドの機種でも同様の状況があります。 例えば、H8/300HやH8Sの汎用レジスタは32ビットですが、ルネサスの純正コンパイラではint型は16ビットになっています。 なお、GCCの...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 綺麗なソースの書き方
返信数: 28
閲覧数: 14696

Re: 綺麗なソースの書き方

史上最悪のデスペナ さんが書きました:さらにそれを

コード:

int a = 4,
    b = 5,
    c = 6;
みたいにしてもいいかもしれませんね。今回の場合はやらなくてぱっと分かりますが。
そんな書き方をするぐらいなら...

コード:

int a = 4;
int b = 5;
int c = 6;
とする方が見やすいですし、書くのも楽です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の出力について
返信数: 20
閲覧数: 5743

Re: C言語の出力について

処理系に依存しない方法はありません。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: サイズの大きい配列の生成
返信数: 4
閲覧数: 3088

Re: サイズの大きい配列の生成

解決したみたいなのでよいのですが、今回程度の内容であれば、mallocを使うよりstaticを付けて静的な配列にするほうがずっと簡単です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 「fatal error C1010」の回避
返信数: 4
閲覧数: 2362

Re: 「fatal error C1010」の回避

いっそのこと、/FIオプションでstdafx.hを指定しておくとかで回避できませんか?
試していないので、本当にできるかどうかはわかりませんが...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】気分転換の方法は?
返信数: 28
閲覧数: 9794

Re: 【雑談】気分転換の方法は?

jay さんが書きました:いきなり不貞寝ってw
不貞寝かどうかはともかく、昼寝は気分転換にいいですよ。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタが良く分かりません
返信数: 20
閲覧数: 5508

Re: ポインタが良く分かりません

char **Str = new char*[Num]; この書き方が混乱の元になっています。 char** Str = new char*[Num]; 上のように書けば、Strがchar**型だということがもっと明確になります。 つまり、char**型であるStrというオブジェクトを、newで生成したchar**型の値で初期化しているのです。 一方、 //実行時エラー char **Str; **Str = new char*[Num]; こちらは、char**型のStrに関節参照演算子*を二つくっつけています。 つまり、**Strはchar型になります。 char型のオブジェクトにnew...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の初歩的な質問ですが...
返信数: 10
閲覧数: 2565

Re: C言語の初歩的な質問ですが...

C++なら...

コード:

#include <iostream>
#include <functional>

int main()
{
     int a, b;
     std::cin >> a >> b;
     std::cout << "a * b = " << std::multiplies<int>()(a, b) << std::endl;
}
これで十分です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の初歩的な質問ですが...
返信数: 10
閲覧数: 2565

Re: C言語の初歩的な質問ですが...

よく考えたら、算術演算子の*を使わなければよいので...

コード:

#include <stdio.h>

int main(void)
{
     int a, b;
     scanf("%d%d", &a, &b);
     double result = a;
     result *= b;
     printf("a * b = %.0f\n", result);
}
これでOKでしょう。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の初歩的な質問ですが...
返信数: 10
閲覧数: 2565

Re: C言語の初歩的な質問ですが...

さかまき さんが書きました:B≠0の時、A*B=A/(1/B)だから乗算の代わりに除算で出来そうな気がします。
それで、評価が上がるか下がるかは先生次第。
私も一瞬それを考えましたが、誤差が出るのでよくないでしょうね。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の初歩的な質問ですが...
返信数: 10
閲覧数: 2565

Re: C言語の初歩的な質問ですが...

ぎゃーてー さんが書きました:標準入力から int型の変数 a, b に入力を受け取り,a × b を求めるプログラムを記述せよ.
但し,算術演算子の * を使ってはいけないこととする.
出題者の裏をかくのであれば、次のようなコードを書くことも出来ます。

コード:

#include <stdio.h>
#include <math.h>

int main(void)
{
     int a, b;
     scanf("%d%d", &a, &b);
     printf("a * b = %.0f\n", fma(a, b, 0));
}
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: VCのmallocはスレッドセーフ?
返信数: 3
閲覧数: 2517

Re: VCのmallocはスレッドセーフ?

_aligned_mallocも内部的にはmallocを呼び出していますので、mallocがスレッドセーフなら_aligned_mallocもスレッドセーフです。
要するに、サイズと得られたポインタの調整をmallocの前後でやっているだけです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: #defineの扱いについて(Cです)
返信数: 8
閲覧数: 4435

Re: #defineの扱いについて(Cです)

一応、実行時に強引に書き換える方法も考えてみました。

ひとつは、インタープリタを使う方法です。CINTのようなインタープリタであれば、ソースファイルを書き換えながら実行することも不可能ではないと思います。
もうひとつは、実行時に再コンパイルする方法です。インタープリタと基本的な発想は同じです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: #defineの扱いについて(Cです)
返信数: 8
閲覧数: 4435

Re: #defineの扱いについて(Cです)

よく考えたのですが、実行時にマクロを定義したいということでした。 それは無理です。評価結果を変更することなら、先に示した方法で可能です。 C++でいうところのconstと同じです。失礼しました。 C++のconstも実行時に変更はできません。 自動変数なら都度変更は可能ですが、定数式にならないので、おそらく期待した用途になりませんし、そうした使い方ならCでもできます。 本当はC++で書きたいのですが、Cで書いてあるソースをC++ファイルとして実行すると エラーが出てきてしまうため、悪戦苦闘しています。また書き込みさせて下さい。 普通は小手先の修正で対応可能です。 それができないのなら、おそら...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: #defineの扱いについて(Cです)
返信数: 8
閲覧数: 4435

Re: #defineの扱いについて(Cです)

「ある条件」とは何なのかによって、対応方法が変わります。 その条件がコンパイル時に決まるのであれば、大多数の処理系ではマクロ定義をコンパイルオプションで指定できますので... #ifndef N #define N 5 #endif ソースコード上では上記のようにしておき、たとえば、N=4にしたいのであれば、GCCの場合、-DN=4 オプションをコンパイル時に指定すればOKです。 そうではなく、実行時に値を変更したいのであれば... #define N ((int)var_N) int var_N = 5; のようにしておけば、条件に応じてvar_Nの値を変更すれば、Nを評価したときの値を変更...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: stringでの日本語の使い方
返信数: 6
閲覧数: 8247

Re: stringでの日本語の使い方

softya(ソフト屋) さんが書きました:wstring他のワイド文字系で統一すれば問題ないと思います。
std::wstringだと処理系に依存しますし、std::u16stringだとサロゲートペアが問題になります。
std::u32stringであれば、次のように、簡単に文字列を反転することができます。

コード:

std:u32string str(U"日本語の文章");
std::reverse(str.begin(), str.end());
ただし、標準入力や標準出力を扱うのはちょっと面倒になります。
(処理系を特定するなら、ほとんどの場合、そう難しくありません)
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのポリモーフィズムについて
返信数: 21
閲覧数: 9512

Re: C++でのポリモーフィズムについて

Pythonは詳しくないので外しているかもしれませんが...
もしかすると、Objective-C++なら希望の機能が実現できるかもしれません。
ただし、重くなることや型安全が損なわれることは避けられません。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのポリモーフィズムについて
返信数: 21
閲覧数: 9512

Re: C++でのポリモーフィズムについて

結局、制約を緩くしようとすると重くならざるを得ないので、トレードオフでしょうね。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのポリモーフィズムについて
返信数: 21
閲覧数: 9512

Re: C++でのポリモーフィズムについて

単に、ダウンキャストが悪だということで避けたいのであれば、いっそのことboost::anyを使うというのも手です。
これなら基底クラスを定義しなくても、ほぼどんなクラスのデータでもコンテナに入れることができます。
boost::any_castで元の型としての値を取り出すことができますが、これはダウンキャストではありません。
(実質的には大差ありませんが...)
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: H8マイコンへのデータ送信
返信数: 14
閲覧数: 5466

Re: H8マイコンへのデータ送信

そもそも、OSは何でしょうか?
一口にμITRONといっても、実装によって使えるサービスコールも違えば、それ以外の部分も微妙に違います。
ATT_ISRがあるということなので、少なくともバージョン4だということぐらいはわかるのですが...

あと、getcharにこだわる理由もよくわかりません。
入力文字列を解釈する部分については、PC上でgetcharを使えば練習できますが、実機の環境でgetcharを使うには、いろいろ面倒な問題が出てきます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: H8マイコンへのデータ送信
返信数: 14
閲覧数: 5466

Re: H8マイコンへのデータ送信

みけCAT さんが書きました:7セグと明記されていますよ。ただ、何個あるのかという情報は必要ですね。
失礼しました。
年を越して、忘れてしまっていました。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: H8マイコンへのデータ送信
返信数: 14
閲覧数: 5466

Re: H8マイコンへのデータ送信

(PCから時刻を受信)→(4→3→2→1桁の順で5msだけLED点灯)―(1s繰り返し)→(時刻再取得)―(繰り返し) こんな感じで、4,3桁に時間、2,1桁に分を表示させます。 これは常時表示している状態になります。 この説明では全く分かりません。 例えば、12:34を受信した場合、LEDをどのように点灯させるのでしょうか? LEDといっても7セグとかではありませんよね? そもそもLEDが何個あるのかから補足をお願いします。 というかまた単語間違えてましたが、stdio.hありました… getcharですね、ありがとうございます。 これはルネサスのコンパイラに付属するものだと思います。 た...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: H8マイコンへのデータ送信
返信数: 14
閲覧数: 5466

Re: H8マイコンへのデータ送信

こしー さんが書きました:時計はPCの時計を受信してダイナミック方式というもので点灯させる予定です。
もう少し具体的に、どうしたいのかを補足してください。
どうなったときに、どう点灯させるのでしょうか?
こしー さんが書きました:アラーム機能ですが、たとえば「A」を押すとアラームモードに入りそのまま「1234」と打てば12:34に設定できるようにしたいのです。
それで、時刻と設定が合えばアラームが鳴る、と。
文字入力ができるのであれば、あとはそれを解釈させるだけです。
いきなりマイコンでやると難しいので、PCで、getcharで1文字ずつ入力し、解釈させるプログラムを書いてみてください。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?
返信数: 76
閲覧数: 19997

Re: どんなデータ型(のアドレスでも可)でも保存できる変数ってありますか?

バイナリで送受信することが目的ではなく、あらゆる型のデータを送受信したいだけのようですから、いっそのこと次のようにしてはどうでしょうか? template <class T> int connect(IPDATA ip, int port, const T& message) { std::ostringstream oss; oss << message; std::string data(oss.str()); // 通信を確立 int net_handle = ConnectNetWork( ip, port ) ; // 確立が成功した場合のみ中の処理をする if( net_handl...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: とある課題解決に協力していただけませんか?
返信数: 15
閲覧数: 4414

Re: とある課題解決に協力していただけませんか?

non さんが書きました:すると、
単純にunsigned intでキャストすると、中身(01の並び)が変わっちゃう場合があるかもしれないけど、
型を再解釈させてから代入すれば、中身は変わらないよと言うことなのでしょうか?
そういうことです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: とある課題解決に協力していただけませんか?
返信数: 15
閲覧数: 4414

Re: とある課題解決に協力していただけませんか?

処理系不明ですので、負値の内部表現がわからないからです。 負数のためというのは、前の投稿でもわかりましたが、なぜ、この表現でクリアできるのかというのが よくわからないのです。 例えば負数が8ビットで表される場合、 10進5は 00000101 -5は 2の補数なら 11111011 1の補数なら 11111010 最上位ビットが1のとき負数なら 10000101 他に処理系によって違う内部表現があるのかは知りませんが、 これらを 単純にunsigned int にキャストした場合と、変数の型を変えてから代入する場合とでは どう変わるのでしょうか 符号付き整数→符号無し整数型に変換する場合、元...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: とある課題解決に協力していただけませんか?
返信数: 15
閲覧数: 4414

Re: とある課題解決に協力していただけませんか?

non さんが書きました:たかぎさん。こうした方が良い理由ってなんですか?

コード:

     unsigned int y = *(unsigned int*)&x;
処理系不明ですので、負値の内部表現がわからないからです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: とある課題解決に協力していただけませんか?
返信数: 15
閲覧数: 4414

Re: とある課題解決に協力していただけませんか?

よく考えたら負値は考慮する必要がないので、汎用的なものにするのでなければそう難しくありませんね。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: とある課題解決に協力していただけませんか?
返信数: 15
閲覧数: 4414

Re: とある課題解決に協力していただけませんか?

nonさんの仰る通り、僕が提案したのは「引数に渡された整数の2進数表現の中に、11が含まれていたら真を返す関数」です。 その関数のプロトタイプは次のようになるでしょう。 int Contains11(int x); 引数x : 2進数表現をしたときに11が含まれるか調べたい整数値 戻り値 : 11が含まれるなら非0、含まれないなら0 これって意外に実装するのは難しいですよね。 int Contains11(int x) { unsigned int y = *(unsigned int*)&x; for (int i = 0; 2u << i; i++) if (((y >> i) & 3u...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ヘッダーでのグローバル定数と関数の宣言
返信数: 2
閲覧数: 7532

Re: ヘッダーでのグローバル定数と関数の宣言

まず、1.についてですが... const修飾子が付いた非局所オブジェクトは、デフォルトでは内部結合になります。↓参照 http://www.kijineko.co.jp/tech/superstitions/non-local-objects-have-external-linkage.html つまり、ヘッダファイルで定義したオブジェクトは、翻訳単位ごとに別々の実体を表すことになります。 今回のようなconst修飾子された汎整数型のオブジェクトの場合、まともなコンパイラであれば、実際に使わなければメモリを消費することはまずありません。 また、汎整数定数式として使うこともできるわけですが、外...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語について
返信数: 6
閲覧数: 2226

Re: C言語について

これでどうでしょう? 全角スペースだけは除去しましたが、それ以外は??の部分を書き換えただけです。 #include <stdio.h> #define NUM 10 int main(void) { int test[NUM] = { 49, 52, 31, 16, 76, 64, 8, 24, 97, 81 }; int tmp; int j, t, s, i; printf("第元回"); for (i = 0; i < NUM; i++) { printf("%4d", test[i]); } printf("\n"); for (s = 0; s < NUM - 1; s++) { ...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 参照渡し
返信数: 16
閲覧数: 5162

Re: 参照渡し

もしかして、こういうことでは? #include<stdio.h> #include<limits.h> int fact(int *n) { if (*n == 0) { *n = 1; } else { int nn = *n - 1; if (fact(&nn) || INT_MAX / *n < nn) return -1; *n *= nn; } return 0; } int main(void) { int n; scanf("%d", &n); if (fact(&n) == 0) printf("Factorial=%d\n", n); else puts("overflow...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 電流のフィードバック制御
返信数: 7
閲覧数: 2829

Re: 電流のフィードバック制御

とりあえず、↓を参考にしては?
http://oshiete.goo.ne.jp/qa/7178712.html
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: voidについて
返信数: 5
閲覧数: 3183

Re: voidについて

beatleさんが書かれているように、CとC++では振る舞いが異なります。
Cでは、仮引数並びを省略すると、どんな型の実引数を何個渡してもかまいません。
一方、C++では、仮引数並びを書かなければvoidを指定したのと同じ意味になります。
具体的に言うと、

コード:

void f();
f();  // OK
f(1); // OK
f(1, 2, 3); // OK
のようになります。
C++では、もちろん最初の記述以外はエラーになります。

CとC++のどちらでも使う(もっといえば、Objective-Cでも使う)ヘッダファイルを記述するのであれば、voidを記述しておくべきです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語での組込み開発とPC?開発の違いについて
返信数: 13
閲覧数: 4169

Re: C言語での組込み開発とPC?開発の違いについて

パーソナルコンピュータを「個人によって占有されるコンピュータ」だとするなら、電気炊飯器のマイコンだろうが、自動車のECUだろうが、すべてパーソナルコンピュータになってしまいます。
ホスト環境またはホスト処理系かどうかという観点では、LinuxやAndroidはホスト環境だといえます。
結局のところ、その突っ込んだ人が「パソコン」をどう定義しているのかによります。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: help me
返信数: 15
閲覧数: 4308

Re: help me

一応、Cで作ってみました。 ただし、情報が少ないので期待している仕様になっているかどうかは知りません。 また、おそらく手元の処理系では、そのままではコンパイルできないでしょうから、どうすべきかは自分で考えてください。 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> typedef struct __node { char data; struct __node *next; } Node; typedef struct { Node *head; Node *crnt; } List; typedef struct { i...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 作り方が思い浮かばず困っています。
返信数: 3
閲覧数: 1471

Re: 作り方が思い浮かばず困っています。

一応、解答例を書いておきます。 ただし、このまま提出しても、自分で書いていないことが瞬時にわかるはずです。 #include <stdio.h> #include <stdlib.h> #include <errno.h> long input_n(void) { retry: fputs("nを入力してください: ", stdout); fflush(stdout); char s[100+1], c; if (scanf(" %100[0123456789]%c", s, &c) < 2 || c != '\n') { scanf("%*[^\n]%*c"); goto retry; } ...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: help me
返信数: 15
閲覧数: 4308

Re: help me

softya(ソフト屋) さんが書きました:
beatle さんが書きました:勝手な意見ですが、
「__nodeという名前はこれこれこういう理由により使用してはいけない。よって、このように修正した。」
とか書いて提出すれば、素晴らしい回答になると思います。
それは先生によっては喧嘩を売っているようなものかと。
勝手に変えたということで課題が不可となる可能性も・・・。
同じ喧嘩を売るのなら、Borland特有の拡張仕様やバグをついた実装をして提出した方がずっとおもしろいですね。
それを指摘されたときに初めて、「どうせ未定義の動作に依存したプログラムしか書けないので、五十歩百歩である」ことを伝えると完璧です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++のva_listとテンプレートの併用
返信数: 8
閲覧数: 3665

Re: C++のva_listとテンプレートの併用

chibago さんが書きました:(ただcx0は少々抵抗がありますので、標準仕様になってから導入を検討いたしたいと思います。)
すでにC++11は国際標準になっています。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++のva_listとテンプレートの併用
返信数: 8
閲覧数: 3665

Re: C++のva_listとテンプレートの併用

C++11に走るならGCC 4.4からinitializer_listも使えますね。 そうですね。シンタックスがかなり変わるので避けていました。 シンタックスが多少変わってもよいなら、C++11でなくても、GCC拡張を使って... #include <iostream> #include <algorithm> #include <iterator> #include <vector> #include <cstddef> template <typename T> class Test { public: template <std::size_t N> void set_data(T c...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++のva_listとテンプレートの併用
返信数: 8
閲覧数: 3665

Re: C++のva_listとテンプレートの併用

GCCならそんな難しいことをしなくても、次のようにすればよいのでは? (引数にsizeは不要ですよね?) template <typename T> class Test { public: void set_data() { } template <class U, class... Params> void set_data(U value, Params... params) { this->data.push_back(value); set_data(params...); } private: std::vector<T> data; }; こっちの方がシンプルですし、型安全ですし...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Cを使うとコーディング能力が落ちる?
返信数: 12
閲覧数: 5159

Re: Visual Cを使うとコーディング能力が落ちる?

みなさん、ご意見ありがとうございます。
やはり、インテリセンスを有効活用するには、ベターCやそれに近い使い方をすべきなのかもしれないという気がしてきました。
インテリセンスが機嫌よく動いてくれているときは、確かに便利なこともありますので。

ただ、ちょっと凝ったテンプレートとかを書いていると、インテリセンスが重い上に、間違うことも多々あり、酷いときはIDEごと異常終了したりするので、非常にストレスを感じてしまいます。
ツールに優しくなるように設計を合わせるというのも本末転倒ですし、落としどころを見つける必要がありそうです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Cを使うとコーディング能力が落ちる?
返信数: 12
閲覧数: 5159

Re: Visual Cを使うとコーディング能力が落ちる?

ちょっと疑問なので便乗質問しますが...

Visual C++のインテリセンスは本当に便利ですか?
重いのは別としても、しょっちゅう間違った補完をしてくれますし、型がテンプレート引数の場合は使えないし(当然ですが)、本当に入力補完して欲しいところではちっとも役に立ってくれません。
CやベターC的な用法のC++ならそれなりに有効かもしれませんが、それでもC#やVBのインテリセンスとは比べようもありません。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Cを使うとコーディング能力が落ちる?
返信数: 12
閲覧数: 5159

Re: Visual Cを使うとコーディング能力が落ちる?

インテリセンスを使っていると、リファレンスを調べる習慣がなくなっていくのは確かです。
結果として、クラスや関数の正確な仕様を把握することなくコーディングしてしまいがちです。

まあ、それとは別に、私の場合、C#とかならインテリセンスはかなり正確ですが、C++はダメダメなので嫌いだというのが本当のところです。
大して役に立たないインテリセンスのために、しばしば待たされるのはストレスになるだけですから。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 0.1を代入したのに == 0.1 がtrueにならない
返信数: 10
閲覧数: 4325

Re: 0.1を代入したのに == 0.1 がtrueにならない

たかぎ さんが書きました:誰でもわかる例としては、二次方程式が重解を持つかどうかを調べるには、判別式がゼロかどうかで判断するしかありません。
書いた後に気付きましたが...
二次方程式 ax2+bx+c=0 のa, b, cを与えて解を求める場合、解の公式をそのまま使ってしまうと、a=0のときに|x|=∞という結果になってしまいますね。
これは判別式以前の問題です。
数学的には、ゼロで割った結果はそもそも無限大ではないので、何でもかんでもそれで代用するのは無理があるのです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 0.1を代入したのに == 0.1 がtrueにならない
返信数: 10
閲覧数: 4325

Re: 0.1を代入したのに == 0.1 がtrueにならない

従って、浮動小数点数の除算において除数が「0.0」かどうかチェックするのはあまり意味がないと思います。 ですから、僕としては「分かりやすい具体例として」、「除算を行う前に除数がゼロかどうかを判定する」という例は不適当だと思います。 IEEE754以外の場合もあるというのはおいておいて... 無限大という結果を得てそれで済む場合ならそれでもよいでしょうが、そうでない場合もあります。 例えば、点(x0, y0)と点(x1, y1)を結ぶ直線の方程式を求める場合を考えてみてください。 このとき、x0 != x1であれば直線の傾きは(y1 - y0) / (x1 - x0)になりますが、x0 == ...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 0.1を代入したのに == 0.1 がtrueにならない
返信数: 10
閲覧数: 4325

Re: 0.1を代入したのに == 0.1 がtrueにならない

beatle さんが書きました:一般論として、浮動小数点数を扱う場合に == と != は使いません。
これはちょっと言い過ぎでは?
どんな目的でどんな処理なのかによります。
分かりやすい具体例としては、除算を行う前に除数がゼロかどうかを判定するには==や!=を使うべきです。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ostream から const char* に変換したい
返信数: 4
閲覧数: 2690

Re: ostream から const char* に変換したい

いっそのこと...

コード:

template <class charT, class traits, class T>
inline T& put(std::basic_ostream<charT, traits>& os, T& value)
{
    os << value;
    return value;
}
上のような関数を作っておいて、

コード:

function(put(oss, "abc"));
のようにした方が便利ではないですか?
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 型の二重宣言 【C言語の相談】
返信数: 10
閲覧数: 11455

Re: 型の二重宣言 【C言語の相談】

komachi さんが書きました:ところで、getline()が宣言されているところを直接変更する、例えば、

コード:

#define getline  getline_rename

( getlineの宣言 )

#undef getline
のように挟みこむはダメなのでしょうか?
それでもすり替わりますが、オリジナルのstdio.hを破壊することになります。
私が書いた方法(一部間違っていたので修正しましたが...)なら、非破壊で対応できます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 型の二重宣言 【C言語の相談】
返信数: 10
閲覧数: 11455

Re: 型の二重宣言 【C言語の相談】

こんな風にすれば、stdlib.hの中のgetlineを別名にすり替えられませんか?

コード:

/* stdio.h */
#ifndef WRAPPER_STDIO_H
#define WRAPPER_STDIO_H

#define getline  getline_rename
#include_next <stdio.h>
#undef getline_rename /* ← 間違っていたので修正 */

#endif  /* !WRAPPER_STDIO_H */
上のようなstdlib.hを作成し、そのファイルがあるディレクトリを-Iオプションで指定しておけばよいかと思います。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: オーバーヘッドの最適化全般について学びたい
返信数: 12
閲覧数: 5324

Re: オーバーヘッドの最適化全般について学びたい

今回の件に関して言えば、一番確実な最適化は次のようにすることです。

コード:

float a = 35.0f / 3.3f * 10;
コンパイル時に計算できるものはコンパイル時に計算してしまえば、実行時のコストはゼロになります。
これは実測しなくてもわかります。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語について
返信数: 6
閲覧数: 2467

Re: C言語について

とりあえず①だけ作ってみました。 #include <stdio.h> #include <ctype.h> int sub(int sum, int n) { if (n > 0) { int c = getchar(); if (isdigit(c)) { sum = sub(sum + c - '0', n - 1); printf("%c\n", c); } } return sum; } int main(void) { printf("sum = %d\n", sub(0, 8)); return 0; } ②は自分で考えてください。 ちなみに、これを「そのまま回答」ととらえるかど...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: stringからintへの代入
返信数: 8
閲覧数: 1592

Re: stringからintへの代入

h2so5 さんが書きました:
Cr さんが書きました: ちなみにそれって動かす環境によって変わったりはしませんか?
ASCII文字が1バイトで表されるchar型の文字列データであれば基本的に大丈夫だと思います。(あまり詳しくないですが...(-_-;))
そんな不確かなことより、単に '0' を引けばよいのでは?
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 汎用出力関数(?)
返信数: 10
閲覧数: 3612

Re: 汎用出力関数(?)

型名の出力についてですが... GCCの場合、方法は二種類あります。 ひとつは、__PRETTY_FUNCTION__から型名を取り出す方法です。 解析のためのコードを自分で書かないといけないのが難点です。 もうひとつは、std::type_info::name()を使う方法です。 こちらは簡単ですが、そのままではマングルされた名前が出てきます。 abi::__cxa_demangleを使うなどして、読みやすい名前に変換するとよいでしょう。 あと、型名に国際文字名を使った場合(-fextended-identifiersを使用)、そのままではUTF-8になります。 必要なら文字コードを変換して...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: unordered_setでのハッシュ関数指定方法
返信数: 6
閲覧数: 2575

Re: unordered_setでのハッシュ関数指定方法

コード:

namespace std
{
    template <>
    struct hash<MyData>
    {
        size_t operator()(const MyData& d) const
        {
            return hash_value(d);
        }
    };
}
上記のコードを追加してみてください。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 日付比較の方法について、
返信数: 3
閲覧数: 2468

Re: 日付比較の方法について、

mktimeを使って、いったんtime_t型に変換してから比較すれば簡単に実装できるかと思います。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 省メモリと動作速度
返信数: 68
閲覧数: 19269

Re: 省メモリと動作速度

MIPS R4000の場合、int→floatの変換は、mtc1とcvt.s.wの2命令が必要です。
逆に、float→intの変換は、trunc.w.sとmfc1の2命令です。
各命令はいずれも数サイクルの命令ですが、同じFPUレジスタを使いまわすので連続で使えなかったはずです。
文脈次第では結構遅くなることがあります。
アセンブリ言語でのコーディングは、よほど熟練していないと高速化できませんので、なるべく避けることをお勧めします。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 小数って使えませんか?
返信数: 7
閲覧数: 3075

Re: 小数って使えませんか?

初級者 さんが書きました:もし小数が使えないとしたら、そんな言語はだれも使わないでしょう。
FPUのないプロセッサのアセンブリ言語は小数が使えません。
そうした言語を対象としたC-like言語やCのサブセット言語もやはり小数は使えないでしょう。
それでも結構な人たちが使っています。
初級者 さんが書きました:ポインタか小数(少数ではない)か区別がつかない、という回答は
的が外れています。
文法上、数字で始まる変数名はありません。
したがって、*0.9 のところであらわれる
*は、掛け算の演算子に決まっています。
その論法でいけば、乗算演算子は二項演算子ですから、単項で使われた場合は関節参照演算子に決まっています。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: mallocの結果がゼロ?
返信数: 12
閲覧数: 3523

Re: mallocの結果がゼロ?

softya(ソフト屋) さんが書きました:mallocの失敗した時の戻り値は、偽(0)でもなく数値0でもなくNULLと考えるのが正しいです。大半の処理系は0と同じですけどね。
SHだというのは後出しの情報ですからね...。
仮にH8とかだった場合、int型は16ビットですが、ポインタ型は32ビット、しかもビッグエンディアンです。
%dを使うと上位16ビットしか表示されませんから、もし下位16ビットが非ゼロだとしても、mallocの返却値がゼロだと誤認してしまいます。
未定義の動作に依存したプログラミングをしていることがそもそもの間違いですね。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: mallocの結果がゼロ?
返信数: 12
閲覧数: 3523

Re: mallocの結果がゼロ?

なみき さんが書きました:HEW SHコンパイラでOSはありません。
確か、sbrk関数を定義するなど、適切な設定が必要になるはずです。
そうしないと、ターゲットボードによってメモリマップが異なるので、ヒープをどのアドレスから何バイト割り当てるのか、処理系が知るすべがないからです。
いずれにせよ、まずはドキュメントを熟読することをお勧めします。
http://documentation.renesas.com/jpn/pr ... optimz.pdf
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: memcpy関数について
返信数: 14
閲覧数: 25757

Re: memcpy関数について

すみません。 勘違いやら、悪文やらでご迷惑おかけしました。 パディングごとmemsetでゼロクリアしているので、一致するのは当然ですね。 すみません。どこでゼロクリアされているのか教えていただけませんか? パディングの中身をどうするかは決まってなかったと思うのですが、暗黙的にmemsetでゼロクリアする仕様ってありましたっけ。 勘違いでした。 1, 2, 3でクリアしていますね? まあ、C言語の話をしているのにstd::copyを持ち出すのは論外としても、memcmpはそれなりに落とし穴もあります。 賢く使うのは賛成ですが、賢く使えるかどうかわからないプログラマは、いっそ手を出さない方が無難な...
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: memcpy関数について
返信数: 14
閲覧数: 25757

Re: memcpy関数について

ISLe さんが書きました:memcpy,forともに0と表示されました。
#パディングを比較して結果が違うというのがおかしな気がしますけど。
パディングごとmemsetでゼロクリアしているので、一致するのは当然ですね。

まあ、C言語の話をしているのにstd::copyを持ち出すのは論外としても、memcmpはそれなりに落とし穴もあります。
賢く使うのは賛成ですが、賢く使えるかどうかわからないプログラマは、いっそ手を出さない方が無難なのかもしれません。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: volatileについて
返信数: 3
閲覧数: 1874

Re: volatileについて

修正してきました。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: volatileについて
返信数: 3
閲覧数: 1874

Re: volatileについて

不要ですね。
不確かな記憶をたどると、以前valueを参照渡しにしていて、volatile付きの実引数を受けるとキャストに失敗したような気がします。
ただ、volatile付きのものを参照渡しでもらうと、それはそれでいろいろ問題が出るのでやめました。
よって、現在のコードでは不要です。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: お仕事について
返信数: 7
閲覧数: 3681

Re: お仕事について

dic さんが書きました:本当かどうかも確かめなければいけないし、給料の中身まで確認しないといけないし・・・と
色々細かいことですが、気をつけたいところがあるんですね
どんなことでもそうですが、正確な情報や相手の真意を知りたければ、相手の立場になって考えることです。
そのためには、従業員を雇うにはどうすればよいか、雇ったあとはどうすればよいかを学べば、それまで気付かなかったことがいろいろ見えてきます。
by たかぎ
12年前
フォーラム: C言語何でも質問掲示板
トピック: お仕事について
返信数: 7
閲覧数: 3681

Re: お仕事について

本当かどうかは、個別に確認しなければわかりませんが...

最近は給与水準が下落傾向にあるのは確かですが、それでも年収600万円程度であれば、それほどとんでもない額ではありません。
また、雇用形態にもよります。
契約社員であれば、正社員より見かけ上の年収は増えるのが普通ですから。
それと、求人情報に掲載する年収というのは残業手当を含んでいる可能性がありますので、必ず基本給を調べましょう。
by たかぎ
13年前
フォーラム: C言語何でも質問掲示板
トピック: DTMF 4087
返信数: 6
閲覧数: 2103

Re: DTMF 4087

ゆう さんが書きました:↑ それも私が質問しました。
マルチポストですので、フォーラムルールを熟読してから適切に対応してください。
by たかぎ
13年前
フォーラム: C言語何でも質問掲示板
トピック: DTMF 4087
返信数: 6
閲覧数: 2103

Re: DTMF 4087

下記で同じ質問をしている人がいますので、参考にしてください。
http://detail.chiebukuro.yahoo.co.jp/qa ... 1265629092
by たかぎ
13年前
フォーラム: C言語何でも質問掲示板
トピック: 変数の定義はできるだけshortを使うべきですか?
返信数: 4
閲覧数: 1995

Re: 変数の定義はできるだけshortを使うべきですか?

単純な変数の場合は、迷わずintを使いましょう。
特に局所変数の場合には、intではなくshortを使うと、実際にデータに使われるメモリ量は変わらず、プログラムサイズは大きく、遅くなる可能性が十分考えられます。

巨大な配列などでは、メモリを節約するためにshortにするという選択は"あり"だと思います。
by たかぎ
13年前
フォーラム: C言語何でも質問掲示板
トピック: PSPでのstrcpy_sについて
返信数: 2
閲覧数: 1505

Re: PSPでのstrcpy_sについて

strcpy_sはマイクロソフトの独自関数なので移植性はありません。
by たかぎ
13年前
フォーラム: C言語何でも質問掲示板
トピック: テンプレートを戻り値に使用する
返信数: 3
閲覧数: 5643

Re: テンプレートを戻り値に使用する

強引に同じ機能を実現できないわけではありませんが...

コード:

#include <iostream>

struct func
{
  template <class T>
  operator T() const
  {
    T value = T(10);
    std::cout << "in func" << std::endl;
    return value;
  }
};


int main()
{
  int i = func();
  std::cout << i << std::endl;
}
あまりお勧めはしません。
by たかぎ
13年前
フォーラム: C言語何でも質問掲示板
トピック: VC++ 2005でのシリアル通信プログラム
返信数: 6
閲覧数: 5915

Re: VC++ 2005でのシリアル通信プログラム

ISLe さんが書きました:Ccomtest001DlgでIReceiveEventを多重継承して、OnReceiveをオーバーライドするのが楽ですけど、ダイアログクラスなのでMFCのウィザードに邪魔されるかもしれません。
IReceiveEventは単なるコールバックの用途みたいなので、ダイアログにPostMessageで通知するだけクラスを作って、そのオブジェクトを渡せばよいのでは?
by たかぎ
13年前
フォーラム: C言語何でも質問掲示板
トピック: クラスや構造体について
返信数: 3
閲覧数: 1694

Re: クラスや構造体について

構造体というのは、クラスキーにstructを使った一種のクラスです。
おそらく質問の意図は、そういう話ではなく、Cと同様の構造体を使うべきかどうかということですよね?
もう少し条件を緩めて集成体を使うべきかどうかと考えてもよいかもしれません。

集成体を使った方が便利な状況というのは少なからずありますので、一切禁止にするのはやりすぎです。
また、データメンバはできるかぎりprivateにするかどうかですが、集成体にするのでなければ、publicやprotectedではなくprivateにするのが基本です。
by たかぎ
13年前
フォーラム: C言語何でも質問掲示板
トピック: 変数の自作
返信数: 9
閲覧数: 3440

Re: 変数の自作

もともとの質問については、C++であれば、Boost.Integerを使えばそれっぽいことができます。
http://www.boost.org/doc/libs/1_46_1/li ... teger.html
by たかぎ
13年前
フォーラム: C言語何でも質問掲示板
トピック: LPCWSTR変数の扱いについて
返信数: 3
閲覧数: 4138

Re: LPCWSTR変数の扱いについて

LPCWSTR data = L"100,200"; のdataから printf("%s",data); とやったのですが、表示結果は先頭の「1」としか出ませんでした。 これは普通に文字列として使うことはできないのでしょうか? 書式指定と、それに対応する実引数の型が異なるために未定義の動作を引き起こしているのが原因です。 printf("%ls", data); とすれば問題は解消します。 なお、文字列dataに日本語などが含まれる場合には、適切にロケールを設定してください。 またこのdata変数から100と200だけを取り出したいのですが 標準関数に指定の文字まで読み込む,というのが な...

詳細検索ページへ移動する