C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: MAX_PATHのアンダーバー有り無しについて
(過去ログ 120 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■70373
/ inTopicNo.1)
MAX_PATHのアンダーバー有り無しについて
▼
■
□投稿者/ nobb
(22回)-(2014/03/17(Mon) 17:37:19)
分類:[C/C++]
2014/03/17(Mon) 17:38:44 編集(投稿者)
== タイトルのアンダーバーが見づらかったので編集しました ==
MFCで開発を行う際に、今まではパスの最大文字数に MAX_PATH(先頭アンダーバー無し) を使用していましたが、
色々なサイトで _MAX_PATH(先頭アンダーバー有り) を使用しているものもよく見かけます。
どちらも260を定義しているので、結果としては変わらないのですが、
使い分けというか、お作法みたいなものってあるのでしょうか?
引用返信
編集キー/
編集
■70374
/ inTopicNo.2)
Re[1]: MAX_PATHのアンダーバー有り無しについて
▲
▼
■
□投稿者/ とっちゃん
(210回)-(2014/03/17(Mon) 17:54:28)
■
No70373
(nobb さん) に返信
> MFCで開発を行う際に、今まではパスの最大文字数に MAX_PATH(先頭アンダーバー無し) を使用していましたが、
> 色々なサイトで _MAX_PATH(先頭アンダーバー有り) を使用しているものもよく見かけます。
>
> どちらも260を定義しているので、結果としては変わらないのですが、
> 使い分けというか、お作法みたいなものってあるのでしょうか?
MAX_PATH は、Windows OS 用の開発キット(以下SDK)で定義された識別子で
_MAX_PATH は、C(C++) 標準ライブラリ(以下CRT)で定義された識別子です。
MFCは、SDKに依存していますので(CRTにももちろん依存しています)
MFCでの開発ならSDK定義の識別子でも構わないと思いますよ。
引用返信
編集キー/
編集
■70376
/ inTopicNo.3)
Re[2]: MAX_PATHのアンダーバー有り無しについて
▲
▼
■
□投稿者/ 774RR
(138回)-(2014/03/17(Mon) 18:26:08)
こんな記事があった
http://comp.newsgroups.archived.at/os.ms-windows.programmer.win32/200504/05042821903.html
ので JIS X3010:2003 を確認してみた。
7.20 一般ユーティリティ <stdlib.h>
<snip> 定義するマクロは NULL および次の4つのマクロとする <snip>
ということで newsgroup archive の記事に同意しまくっておこう。
基本的に 標準C/C++ 合致の範囲でプログラムを書きたいんだけど、一部逸脱がある
という意図を示すのであれば <stdlib.h> の _MAX_PATH を使う。
標準 C/C++ に則る気がなくて Windows 依存なプログラムであるという意図を示すなら
<windef.h> (は直接 include すべきでなく <windows.h> を使う必要がある) の MAX_PATH
ってところだろう。MFC を使うなら後者なわけだし MAX_PATH でいいんぢゃないかな。
引用返信
編集キー/
編集
■70385
/ inTopicNo.4)
Re[3]: MAX_PATHのアンダーバー有り無しについて
▲
▼
■
□投稿者/ nobb
(23回)-(2014/03/18(Tue) 18:02:30)
2014/03/18(Tue) 18:03:28 編集(投稿者)
== 解決チェック忘れの為編集 ==
お二方ともご回答ありがとうございます。
・標準C/C++に則るなら「_MAX_PATH」
・MFCを用いるなら「MAX_PATH」
として覚えておきます。
ありがとうございました。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-