こんにちは。
突然ですが、PCごとに違う数値ってないのでしょうか?
C言語で取得したいのですが、そもそもPCごとというのは具体性がないので、マザーボードやメモリ、CPUなど何でもいいので、世界に2つとないようなPCごとの数値って取得する方法はないでしょうか・・・
ひとつ試していて思ったのですが、rand()はプログラムを起動するたびに同じランダムな数字を返してきますよね?ですが、PCによって初期値が違うことがわかりました。どうしてですか?
分かりにくい質問ですみません。回答をお待ちしていますm(_ _)m
No.4ベストアンサー
- 回答日時:
OSの力を借りるのは必須ですね。
Windowsに関してならば、良さげなのがあったので紹介しておきます。
アプリケーションが一意に判断できる値を得る方法
http://www.cisnet.or.jp/home/tsuneoka/win32tech/ …
参考URL:http://www.cisnet.or.jp/home/tsuneoka/win32tech/ …
この回答への補足
さっそくNetbiosを試してみようと思ったのですが、使い方がぜんぜん分かりません;;
具体的にどうやったらMACアドレスが取得できるのでしょうか・・・
何度も何度もすみません・・・
No.8
- 回答日時:
C言語を使うのに「標準出力」「リダイレクト」を知らないのでは、話になりません。
※
GUIに慣れきった初心者の典型か。今はGUIしか使ったこと無いのにコンピュータを使いこなしているかのような錯覚を持つ人が多いですからねぇ。
No.6
- 回答日時:
UNIX系のOSであれば、/sbin/ifconfigコマンドでMACアドレスを「表示」できます。
たしか、標準出力に表示しているのでリダイレクトを使ってファイルに落としておけば、後でそのファイルをオープンして読み込めばいいでしょう。
No.3
- 回答日時:
以前、ハードディスク(例えば、c:\)の、ボリュームシリアルを使っていたソフトを見たことがあります。
これ、少なくとも、「ほぼユニーク」ではあると思いますが。
あと、インテルの Pentium III 以降は、CPU にシリアル No. がついています。もっとも、これは、(パソコンの)出荷状態で disble にすることになっていますから、ほとんど使えないでしょうが。
逆に、自分が管理する小さな領域のマシンだけに適用するのであれば、使えるかもしれません。
No.2
- 回答日時:
NICが搭載されているという前提ですが、MACアドレスは必ずユニークな値です。
>PCによって初期値が違うことがわかりました
そうでないと乱数になりませんから。
srand関数で定義しない限り、必ずランダム値を返します。
但し、乱数と言っても正確には擬似乱数です。
ある規則によって形成された乱数です。
No.1
- 回答日時:
ネットワークカードが付いていれば、そのカードのID(MACアドレス)は、2つとして存在しません。
ランダム関数に関しては、わかりません。
でも、ランダム関数を使う前に、種の初期化をしますよね、普通。
その初期化に使う整数に、年月日時分秒をyyyymmddhhmmssで与えると、2度と同じ種にはなりません。
この回答への補足
回答ありがとうございました。
さっそくMACアドレスをC言語で調べる方法を調べてみたのですが、まったく分かりません;;
それらしきサンプルが見つからず、こまっています。
どなたかキーワードでもいいので教えていただけないでしょうか・・・
それと、これは補足ですが、
プログラムを実行後srandを呼び出さず、randのみを呼び出すと、何回実行してもrandの返す値は同じ順になるんです
(1回目の起動=1,3,5,2,7だとすると、2回目の起動=1,3,5,2,7になり、同じならびになりますよね)
で、そのプログラムを違うPCに移動して実行すると、今度は並びもさっきとぜんぜん変わるんです
(1回目の起動=2,1,8,3,9だとすると、2回目の起動=2,1,8,3,9になり、これもまた同じならびになりました)
これを利用できないかと思ったのですが、どうなんでしょうか・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) 2つのPCを行き来する 2 2022/06/15 01:59
- 中古パソコン ツールをずっと起動させておくだけのPC 2 2022/06/10 02:10
- CPU・メモリ・マザーボード パソコン購入でCPUについて(長文ですいません。) 26 2022/04/05 15:26
- デスクトップパソコン PCの通電はするがモニタが黒い画面のまま何も表示はじまらない。 7 2023/01/10 09:36
- CPU・メモリ・マザーボード Ivy BridgeのPCでゲームのラグを減らしたい 6 2023/04/20 23:52
- CPU・メモリ・マザーボード PCスペック(CPUとGPUのバランス)について ボトルネックチェッカー (https://babl 3 2022/10/30 15:33
- ドライブ・ストレージ 最近、外付けSSDというのが出回ってますが、USBメモリと比較してどっちが安い?どっちが高性能? 6 2022/04/23 10:51
- Windows 10 PCでゲームをやるとPC再起動必須のフリーズになります 4 2023/02/17 11:29
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- ノートパソコン ホグワーツレガシー PC版必要スペックについて ホグワーツレガシーをPCでプレイしたいのですが、PC 3 2023/02/09 21:11
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェルコマンドの 2>&1 とはど...
-
C言語による10進数→16進数変換...
-
(VBA)書式が変更されてしまい...
-
C++ fprintf_sの使い方がわからん
-
AccessVBA複数レポート条件毎に...
-
C++/CLIにて、System.String^型...
-
ファイル形式またはファイル拡...
-
VBA でメモ帳へ保存する際の保...
-
アプリケーションのログファイ...
-
ファイル出力の場所を指定
-
stdin,stdoutについて
-
VB.NETでExcelファイルを出力す...
-
テキストファイルに改行コード...
-
C言語での印刷方法
-
printfだと出力されるのにfprin...
-
CBool関数について VB6とVB.net...
-
gccによって、BOM付きのUTF-8で...
-
C言語で16進数をテキスト出力し...
-
Base64でエンコードした後の文...
-
fortranのtxtファイル出力書式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Paiza Cloudです。 どうやれば...
-
Paiza Cloudです。学籍番号と氏...
-
Acccess レポートをグループ別...
-
ファイル出力の場所を指定
-
コマンド(例えばls)の出力結果...
-
VC++でUTF-8のファイルを出力し...
-
テキストファイルに改行コード...
-
シェルコマンドの 2>&1 とはど...
-
VBA でメモ帳へ保存する際の保...
-
ファイル形式またはファイル拡...
-
fortranのtxtファイル出力書式...
-
CSV形式に変換
-
printfだと出力されるのにfprin...
-
C++ fprintf_sの使い方がわからん
-
c言語の質問です。 ランダムに4...
-
Wordマクロで指定したフォルダ...
-
C++/CLIにて、System.String^型...
-
pcap形式データをテキストへ抽出
-
二次元配列をクリップボードに...
-
raw形式からbmp形式への書き込...
おすすめ情報