Win32API質問箱 Build126

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/05/01(金) 22:16:51.96ID:ZJ42fMZB
Win32APIについての質問はこちらへどうぞ。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

■過去スレ
Win32API質問箱 Build125
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/

■関連スレ
Visual Studio 2019 Part4 https://mevius.5ch.net/test/read.cgi/tech/1585715794/
Visual Studio 2017 Part7 https://mevius.5ch.net/test/read.cgi/tech/1558179898/
【C++】 DirectX初心者質問スレ Part41 【C】 https://mevius.5ch.net/test/read.cgi/tech/1521786252/
2020/12/13(日) 17:35:08.88ID:/mwshU+q
CONIN$を開いたハンドルをCloseHandleで閉じたりFlushFileBuffersしたりは試しました。
2020/12/13(日) 17:37:07.75ID:/mwshU+q
>>434
ありがとうございます
sscanfはもちろんするのですが、その前段階、文字列を読み込む部分が上手くいっていないのです。
2020/12/13(日) 17:40:51.11ID:cAYsSKhI
setvbuf
2020/12/13(日) 17:48:17.56ID:zFOj0dh9
https://stackoverflow.com/questions/9020790/using-stdin-with-an-allocconsole
2020/12/13(日) 18:26:49.33ID:/mwshU+q
setvbufやfreopenはcランタイムの関数で、バッファもOVERLAPPEDのバッファとは違う気がします
freopenしたstdinからのscanfがブロックされてしまうというのが443の話なので
そこからノンブロッキングのAPIを使う必要があるのでは、ということになったわけです
2020/12/13(日) 19:01:38.77ID:/mwshU+q
ReadConsoleってAPIもブロッキングなので使えないわけですが、低レベルなReadConsoleInputというのもあるらしく
OverlappedでのReadFileよりこっちの方が正攻法なようです。
ともかくやってみます。
ありがとうございました。
2020/12/13(日) 20:23:25.03ID:casXcC2M
>>433
プログラム側で「この時点以降の入力を有効とする」タイミングは管理してないの?
その時点でバッファされてる物を一旦読み捨てれば良いだけでは?
2020/12/13(日) 21:23:50.52ID:w0iK+TRN
生のコンソールは制約が多いから
コンソールアプリの入出力を奪って適当なコンソールもどき作った方が早そうだけど
2020/12/14(月) 00:15:39.66ID:pdqk93XN
スレッド作ってブロックさせておけば良いと思うんだけど
正直な話>>442
バージョンによって微妙に動きが異なるし
2020/12/14(月) 11:31:29.18ID:AspHUlaN
>>443
ありがとうございました
ブロックしないじゃなくてブロックしても大丈夫にして上手くいきました

バッファの方は事前にFlushConsoleInputBufferで解決しました
2020/12/14(月) 12:14:03.24ID:GY9gb+Ps
コマンドプロンプトのコンソールを使う案件は、スクリプト言語とのプロセス通信を使ったほうが幸せになれる確立が高い。
2020/12/19(土) 12:04:23.50ID:+WDUx37o
GetProcAddressってAやWないよね?
それでいてwcharでもcharでも機能するのは仕様?
2020/12/19(土) 12:37:56.57ID:/QQvHqFx
wchar_t*渡して正常に動作するか?
2020/12/28(月) 00:26:19.90ID:222C9err
__declspec(thread)の変数ってスレッドごとに記憶域をもつわけですが
APIのTlsGetValue等でどうやって実現してるんでしょうか?

TLSインデックスをうまくスレッドハンドルと結び付けなけりゃならないと思うんですが。
2020/12/28(月) 02:51:22.15ID:p5Tcw1Ej
正直、このあたりは深く考えないことをオススメするのですが。
興味があるということであれば↓を参照しつつ。
http://www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/6_6.html

コンパイラが__declspec(thread)の変数があった時に、どのようなコードを出力しているか
逆アセンブルしてみると理解が深まると思われます
2020/12/28(月) 09:50:34.64ID:222C9err
>>449
ありがとうございます
昔はTlsGetValueを使ってたのが、今はセクションが新設されてそこに作ってるんですね
2021/01/01(金) 22:20:09.03ID:kFKOiQ+I
VirtualAllocとHeapAllocの違いについてなんだけど
HeapAllocもヒープ残量以上のサイズを渡したらどの道VirtualAlloc呼ばれるって認識でいい?
2021/01/01(金) 22:30:52.02ID:3Cyk3fUO
HeapCreate以上のメモリはHeapAlloc
からは作れない。
2021/01/02(土) 09:33:50.89ID:Li/cNK13
>>452
ある程度大きいサイズのメモリ確保だとVirtualAllocの方が早くなるからそう勘違いしてたけどそういう訳じゃないんだね
最初に実際にアクセスした時に初めて実際にメモリ割り当てが行われるとかの挙動がHeapAllocでも走るってだけか
2021/01/02(土) 09:59:10.06ID:r4407Ytg
virtualの方がよりローレベルなので
チャンクアロケーターをMSのレベルを
超えて作れるか、ほぼ解放しない前提
のブロックを確保するとかでないと使わない。

普通のmalloc風に使うなら、ヒープ領域毎
あぼーん出来るCreateHeapの方が使い易い
455デフォルトの名無しさん
垢版 |
2021/01/12(火) 15:11:58.85ID:LUlB/OIG
あるstaticなlibが既存の場合(.hで関数の引数がTCHAR *使用)
それがANSI用にコンパイルされたlibなのか
それともUNICODE用にコンパイルされたlibなのか
既存のバイナリのlibだけから判断する方法はありますか?

#ソースは.cppでTCHARで書かれているものがあったので
#そこから-DUNICODEであらためてコンパイルすれば解決はしたのですが
#上の質問の解決策があるなら知りたいです
2021/01/12(火) 15:19:23.66ID:gjvDcKpD
>>455
C++の場合なら、ライブラリをdumpbinなどで調べて関数のマングリン化名を見れば分かる。
plain Cの場合は、実際にライブラリに1文字が2バイト以上のUNICODE文字を送ってみて、
正しく動作するかどうかテストしてみると分かる。
2021/01/12(火) 15:40:36.07ID:gjvDcKpD
>>456
plain C の場合、他の方法としては、
1. dumpbinでライブラリ関数を逆アセンブルしてみて、引数の扱いがbyteに
 なっているか、wordになっているかを調べれば分かる。
2. ライブラリの関数を呼び出すコードを書いてみて、デバッガで、ライブラリ関数の
 中を逆アセンブルする。
458デフォルトの名無しさん
垢版 |
2021/01/12(火) 15:41:24.71ID:LUlB/OIG
もしかしてマングリの PEB_W とかのが UNICODE 用ってことでしょうか?
2021/01/12(火) 15:52:56.37ID:gjvDcKpD
>>458
デマングラー
なるものが(ブラウザ上アプリとして)ネットであって、関数のシンボル名
を入れると関数プロトタイプ宣言に直してくれるので試すべし。
2021/01/12(火) 15:54:26.07ID:gjvDcKpD
>>459
gccとmsvcに対応した C++ デマングラー
https://demangler.com/
2021/01/12(火) 21:18:12.25ID:80wnOS0a
VCにはundnameというツールが標準でついてくるし、gccにはc++filtがある
462デフォルトの名無しさん
垢版 |
2021/01/15(金) 15:06:23.40ID:4rSXG5WT
STDAPI と __declspec(dllexport) を同時に使うと怒られるんだけど
原因は何が考えられますか?
__declspec(dllexport) を使わずに .def ファイルで .dll を作成することは可能なのですが
.def を使わずに __declspec(dllexport) で .dll を作成しようとすると失敗します
2021/01/15(金) 15:12:37.26ID:Xgv++hhu
64bit?
2021/01/15(金) 15:12:57.53ID:7nTgmyE8
>>462
エラーメッセージは何でスカ?
2021/01/15(金) 15:16:41.23ID:PcvYNCYN
STDAPI は 暗に extern "C" を含んでてでマングリングなしの素
C++で _declspec(dllexport) の場合マングリングする
それで衝突してるんでないの?
466デフォルトの名無しさん
垢版 |
2021/01/15(金) 15:43:21.85ID:4rSXG5WT
>>465
なるほどそれのようですありがとうございます
http://eternalwindows.jp/windevelop/dll/dll06.html
467デフォルトの名無しさん
垢版 |
2021/01/15(金) 15:55:06.66ID:4rSXG5WT
解決っぽいです
https://python5.com/q/ntrrycea
2021/01/19(火) 04:48:40.40ID:gq4TTO9r
Windows10環境、お互いに管理者権限ありでPostMessageしても反応してくれないソフトがあったのですが
互換モードでWindows7を選択すると反応してくれるようになりました
そこで疑問に思ったのですがこの違いの原因は何でしょうか?
2021/01/19(火) 16:33:42.40ID:dOqXDJ4/
>>468
http://home.att.ne.jp/delta/hrymkt/PTIPS/UACvsAPI.txt
>PostMessage は 同じプログラムでも 一方が管理者権限で走っていると此にそのソフト特有の
>メッセージの ポストも出来ません。
>個々の メッセージは 受けとる方で ChangeWindowMessageFilter API で指定すれば受けとる様に出来ます。
2021/01/19(火) 16:36:03.29ID:dOqXDJ4/
ここを見ている人のために念のため貼っておくよ。ご参考に。

Win32のリファレンス マニュアル
Win32.chm http://laurencejackson.com/win32/
右クリックして「プロパティ」を選び、「許可する」をクリックして「OK」ボタンを押せばセキュリティのブロックを解除できます。
2021/01/20(水) 05:28:55.77ID:4MsON1Bd
>>469
ありがとうございます
そのページは私も確認したのですがお互いに管理者権限ありなので下記に該当すると思います
>自身が 管理者権限で走っていれば この制限は無くなります。
ポストに成功する互換モードでもお互いに管理者権限ありなのでWindows7と10の違いが原因だと思ったのですが具体的に何が違うのか分からず…
472デフォルトの名無しさん
垢版 |
2021/01/22(金) 11:43:02.03ID:LpWHKWeZ
64bitと32bit混在とか
LONG/HWNDの長さ違いとか
2021/01/22(金) 23:19:48.79ID:yGCss6uQ
やんわりとrustに移行させようとしてるマイクロソフト
474デフォルトの名無しさん
垢版 |
2021/01/23(土) 17:16:39.51ID:5Na5U87Z
C#は?
475デフォルトの名無しさん
垢版 |
2021/01/27(水) 11:53:32.96ID:cJSBZXf9
>>473
Rust https://github.com/microsoft/windows-rs
C++ https://github.com/microsoft/cppwin32
C# https://github.com/microsoft/cswin32
https://forest.watch.impress.co.jp/docs/news/1301910.html
https://github.com/microsoft/win32metadata
2021/01/27(水) 16:13:17.46ID:ZPuhQ2SN
>>475
登録数だけ見るとやんわりには見えない
477デフォルトの名無しさん
垢版 |
2021/01/28(木) 11:08:41.51ID:dNWrUHbO
生暖かく応援するである
2021/02/04(木) 20:13:07.23ID:m67WeuC9
フルパス以外でのファイル固有のユニーク値ってBY_HANDLE_FILE_INFORMATIONのnFileIndexHigh、nFileIndexLow以外に何かない?
2021/02/04(木) 21:39:45.02ID:NI9TS1Gg
ハッシュ?
2021/02/05(金) 00:39:50.48ID:AkHBgQOB
GetOpenFileName()でファイルを開くダイアログが使えますが、
https://dotup.org/uploda/dotup.org2378520.png
このダイアログの赤枠内のように、チェックボックス等が追加されたカスタムのダイアログはどのようにすれば実現できるのでしょうか?
2021/02/05(金) 00:56:51.01ID:Nx26rnNw
>>478
FILE_ID_INFOのFileIdで128bitに拡張されてるな
2021/02/05(金) 01:06:52.68ID:U+NO2W2G
>>480
https://hp.vector.co.jp/authors/VA016117/esccd.html
483480
垢版 |
2021/02/05(金) 08:22:01.08ID:AkHBgQOB
>>482
まさにこれです!
ありがとうございました!
2021/02/05(金) 11:21:57.41ID:L6Uw8oZz
>>479>>481
膨大な量のファイルを列挙するにあたってハッシュ計算するのも、ハンドル開いてBY_HANDLE_FILE_INFORMATION読み込むのも億劫だったんだが
NtQueryDirectoryFileでmftからファイルID取れるってことに気付いた
2021/02/05(金) 12:13:51.05ID:UnxdNd0N
画像ビューワまだできないの?
みんな待ってんだから
486デフォルトの名無しさん
垢版 |
2021/02/06(土) 00:30:35.01ID:L1ZLjs+J
コントロールパネルでフォントを「非表示」にすると、言語に応じて
フォント選択画面に出てこなくなり選びやすくなるという機能があります。
この「非表示フォント」かどうかを判別する方法はありますでしょうか?

ChooseFont()ではなくEnumFontFamiliesEx()を使い、独自のフォント選択ダイアログを作成中ですが
非表示フォントを判別する方法がわからずすべて列挙してしまいます。
2021/02/06(土) 00:37:08.03ID:j9M7S4X7
>>486
レジストリ設定によるらしい。

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Font Management

https://visualstudiomagazine.com/Peterson1110?m=1
2021/02/06(土) 02:04:53.58ID:L1ZLjs+J
>>487
ありがとうございます!
レジストリに「非表示フォント」の一覧が記録されているのですね。
その内容を取り出して比較してフィルタリングしたいと思います。
489デフォルトの名無しさん
垢版 |
2021/02/13(土) 06:46:11.29ID:neaggcXJ
ExpandEnvironmentStrings() は、%環境変数%を展開してくれるけど、
PowerShellの$env:環境変数 を展開してくれるAPIとかないのかな?
2021/02/13(土) 10:11:29.20ID:PYtZn7CJ
>>489
[Environ]::ExpandEnvironmentVariables($env:環境変数)
491デフォルトの名無しさん
垢版 |
2021/02/14(日) 11:18:45.76ID:PGTjJwEI
2021/02/10
WindowsのTCP/IP実装に複数の重大な脆弱性、今月のセキュリティパッチはかならず適用を
ブルースクリーンが引き起こされるサービス拒否(DoS)脆弱性はすぐに攻撃が出回る可能性
https://forest.watch.impress.co.jp/docs/news/1305583.html
2021/03/03(水) 09:48:23.14ID:GTR/ytE6
Win32の質問というよりOSの仕様に近い質問になってしまいますが、
新しくファイルを作るにあたり予めファイルサイズが分かっている場合、SetFilePointerEx&SetEndOfFileで予めファイルサイズを決めておくと断片化しづらいというテクニックがありますが
一度のWriteFileで一気に書き込む場合は上記の工程を行わずとも断片化しづらいのでしょうか?
2021/03/03(水) 17:46:09.32ID:Uextqx1e
本当にそんな制御になっているか分からないけど理屈だけだと、最初に一発ここまで
使うよって宣言しておけば領域が一挙に確保されるかもしれない

逐一書き込みを行ってその度に領域を確保すると、システム全体がシングルスレッドで
動いていれば(ありえないけど)、自分が書き込みを行っている間に別の
プロセス/スレッドが書き込みを行うと、領域が分断されると思うのだけど
494デフォルトの名無しさん
垢版 |
2021/03/09(火) 14:20:50.29ID:iP4nVCks
断片化対策というか
常に同じセクタに書き込むように出来なかったっけ?
2021/03/09(火) 23:41:10.45ID:zAPDJC3N
高速ファイルコピーのフリーソフトの作者のブログか何かでこんだけWindowsのコピーは大変だよみたいな記事を読んだ覚えがある
2021/03/10(水) 03:22:04.66ID:Gf/98J6J
これやな
ttps://m.facebook.com/dnobori/posts/2142836202459674
2021/03/10(水) 07:59:53.47ID:pDjVp4Qi
面白かった
2021/03/10(水) 09:21:13.05ID:XSc6HIdm
結構読んだと思ったらまだスクロールバーが半分で、うんざりして読むのとWindowsでファイルコピーするのをやめた
2021/03/10(水) 09:48:53.12ID:ayODL1B0
リーナスですらもNTFSが現状ベストって認めてるくらいだからその分複雑なんだろうね
500デフォルトの名無しさん
垢版 |
2021/03/26(金) 09:24:09.04ID:saZG9dHC
ほとんどの環境で特にエラーは出ないのですが
特定の環境でSHFileOperation()をFO_COPYで呼ぶとERRORONDESTが返ってきます
ファイルが使用中で書き込みできない場合は別のエラー、
ファイルではなく同名のフォルダでも別のエラーとなり
エクスプローラで手動でコピーは可能です
コピー元は全て英語のD:\AAA\BB.exe, コピー先は%temp%\AAA\\BB.exeを展開したもので
C:\Users\Username\AppData\ocal\Temp\AAA\\BB.exe
リトライしても改善しません

SHFileOperation()でERRORONDESTが返る要因てどんなのがありえそうですか
2021/03/26(金) 12:36:51.59ID:HcNsE5xL
>>500
バックスラッシュが二重になってるよ。
2021/03/26(金) 13:42:06.64ID:cPlbb1Mg
pFromとpToの末尾は'\0'が2つ必要だけど忘れてない?
2021/03/26(金) 17:20:08.28ID:XmR64PQN
pTo はダブルにする必要なくて pFrom のみじゃね?

複数個のファイル名を \0 をセパレータにしての連結して渡す意図かと
 pFrom "fileA\0fileB\0fileC\0"
 pTo "dir\\"
fileA,fileB,fileC を dir\ へ
504500
垢版 |
2021/03/26(金) 18:24:57.44ID:saZG9dHC
>>501
すみません、バックスラッシュはコード上は正しかったです
ちなみにスラッシュが足りない場合は0xA1 指定されたパスは無効です が返ります
多い場合は0xb7 既に存在するファイルを作成することはできませんとかが返ります  

>>502
'\0’は末尾に4個以上はいれてます

FOF_SILENTは無効にして試しているんですが、有効にして書き込み禁止のファイルを上書きしようとすると
0x7cシステム コール レベルが間違っていますがかえります

この環境では、0x10000:ERRORONDESTが返るんですけど、
ほかの環境でERRORONDESTが再現できないんですよね..
505デフォルトの名無しさん
垢版 |
2021/03/26(金) 18:28:02.43ID:3gUI29td
>>499
あわしろ氏は、NTFSは欠陥品と言ってたけどな。
2021/03/26(金) 19:16:16.62ID:MYLkW03n
>>504
FOF_MULTIDESTFILES を指定した場合はどうなるの?

というか、まず C:\Users\Username\AppData\ocal\Temp\AAA というディレクトリじゃなくて
決め打ちでコピー先を D:\BBB\BB.exe って指定してうまくいくかどうか試してみたら?(D:\BBB というディレクトリは作成しておく)
これで失敗すれば関数の呼び出しに問題があると言えるし
成功すればその C:\...\Temp\AAA というディレクトリに問題がある
507500
垢版 |
2021/03/26(金) 19:31:39.70ID:saZG9dHC
>>506
決め打ちでパス指定してもダメでした
というかどこからどこにコピーしても全部ERRORONDESTのエラーになります
問題あるのは特定のPCだけで、他のPCだと問題なく動作するので、
何か変なソフトに邪魔されているかもしれません

もうだいぶあきらめ気味ですが、解決したら続報のせます
回答くれた人ありがとう
2021/03/26(金) 21:05:36.78ID:mmjZdfI1
セキュリティーソフトとか、アクセス権限とか
2021/03/26(金) 21:09:03.33ID:CAbtDF19
エクスプローラの手作業ではコピーに成功してるらしいんだよねぇ
2021/03/27(土) 15:56:10.46ID:VE8mC68O
特定のも含めてPCがそれぞれどんな構成か出さないとエスパー案件になりそう

windowsがunicode設定だったり実はバージョン違いとかとか
511デフォルトの名無しさん
垢版 |
2021/04/03(土) 22:56:21.93ID:pdE0Ehe0
GetFullPathNameW() に C:\ ではなく C: を渡すとどんな文字列が返ってくるのかお教えください
2021/04/04(日) 01:15:17.97ID:SuYLyBNw
>>511
ばーか
って返ってくるよ
2021/04/04(日) 08:37:20.89ID:SvWSCx06
>>511
試す気は全くないんだな?w
514デフォルトの名無しさん
垢版 |
2021/04/05(月) 01:40:45.93ID:VcR5h3be
fopen()に環境変数、例えば %VARIABLE% を含むパスを渡した場合、
fopen()の側で環境変数を展開してからファイルオープンするかどうかって決まってますか?
2021/04/05(月) 02:22:21.13ID:hqxnqcGl
>>514
環境変数は@自分で目的のものを入手して、A自分で展開するしかない、かと
2021/04/05(月) 05:55:39.12ID:B3M7CzzN
>>514
決まってる
2021/04/05(月) 20:35:30.57ID:XdKinJWZ
fopen()はWin32APIじゃないから、決まってないんじゃないの?
2021/04/05(月) 21:00:39.05ID:ogb+W0EK
決まってるという言い回しがアレだが、仕様としては>>515なのではないか
GetEnvironmentVariableとかExpandEnvironmentStringsとか使えと

つーか、511にせよ514にせよ自分で試せよ
内容からして同一人物か?
2021/04/05(月) 22:17:44.32ID:36Cyp5PA
便乗だけどREG_EXPAND_SZ属性のレジストリの文字列って適当なAPIで取り出す時には展開されてる事を期待していいのかな
520デフォルトの名無しさん
垢版 |
2021/04/05(月) 22:28:04.02ID:VcR5h3be
fopen()つまりCreateFile()の環境変数展開の仕様が決まっているのならその文章のURLを貼ればいいだけで、そういった文章がないということは決まってないということだろう。
2021/04/05(月) 22:35:50.69ID:SUd0RcBB
環境変数を展開するというなら%が含まれるファイル名の時は%をどうエスケープするの?
CreateFileのリファレンスに書いてある?
2021/04/05(月) 22:41:43.76ID:5fbmy6mD
>>520
そういった文章がない=展開しないと決まっている じゃないかね
523デフォルトの名無しさん
垢版 |
2021/04/05(月) 22:42:12.28ID:VcR5h3be
>>518
ローカル環境で試すことに意味はない
重要なのは仕様だけ

>>521
みたことない
524デフォルトの名無しさん
垢版 |
2021/04/05(月) 23:41:24.36ID:VcR5h3be
そもそもWin32APIはコマンドプロンプトのシェルに依存すべきではないから%VARIABLE%を勝手に展開するのはあまり好ましくない。
PowerShellやbashの書式で環境変数展開できないのは不公平になる。
2021/04/06(火) 00:50:31.34ID:7Od2aTl4
>>520
>fopen()つまりCreateFile()の環境変数展開の仕様が決まっているのならその文章のURLを貼ればいいだけで

お前が自分で探してこいよ
何言ってんだこいつ
2021/04/06(火) 00:51:08.33ID:yLju/cD3
>>521
%%じゃないの?
2021/04/06(火) 00:56:50.13ID:XnTB+TXu
>>526
printfじゃねーんだぞ
2021/04/06(火) 01:41:26.10ID:Im/sjr+Q
書いていることが仕様であって、書いてないことは仕様ではない
CreateFileでパンが焼けないと書いていないからパンが焼けると判断するのはキチガイ以外他ない
2021/04/06(火) 05:09:02.50ID:wdOO9l8n
全てのAPIにパンは焼けませんって書かせる基地外w
2021/04/06(火) 09:41:04.31ID:9TplgPlq
文字列の痴漢は頼みもしないのに勝手にされたら邪魔だ
2021/04/06(火) 12:59:56.19ID:EpJptavP
テストもしないクズなのは確定なんだが
「仕様」かどうかが主語であるべきなのに、仕様かどうか「決まっている」というところを主語にして
続けていること自体がもはや技術者ではない
2021/04/06(火) 17:02:11.12ID:BqyPmRZM
>>520
>fopen()つまりCreateFile()

全然つまりじゃねー
Windowsではそういう環境変数よりもレジストリ使えってスタンスじゃないの
2021/04/06(火) 17:26:56.80ID:mi+0bNxV
C言語って極力余計なことはしないスタンスだから
環境変数の展開はやりたければ、自前でやったうえで fopen に渡せであって
展開動作を行なうようなのは printf のフォーマットのように 特記されてる


気がする
2021/04/06(火) 17:50:22.69ID:yLju/cD3
>>526
でもレジストリに記録されているMSのデータって%1とかそういう系多いよね
■ このスレッドは過去ログ倉庫に格納されています