home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2010/07/14/GetLastError()のエラーメッセージ

日記/2010/07/14/GetLastError()のエラーメッセージ

日記 / 2010 / 07 / 14 / GetLastError()のエラーメッセージ
id: 709 所有者: msakamoto-sf    作成日: 2010-07-14 23:17:21
カテゴリ: C言語 Windows 

を表示するだけのツール。実験コード書く時とか、一々エラーメッセージフォーマット用の関数コピペするのめんどいので、GetLastError()のコードだけ表示して終わりにしたい時。こっちのツールで日本語メッセージを確認する。

gle.cpp:

#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
 
int main(int argc, char *argv[])
{
    LPTSTR lpMsgBuf;
    DWORD err;
    if (2 != argc) {
        fprintf(stderr, "usage: %s error_code\n", argv[0]);
        return 1;
    }
    err = atol(argv[1]);
    switch (err) {
    case 0:
        fprintf(stderr, "error, not DWORD number: %s\n", argv[1]);
        return 2;
    case LONG_MAX:
    case LONG_MIN:
        fprintf(stderr, "error, out of range: %s\n", argv[1]);
        return 3;
    }
    FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER
        | FORMAT_MESSAGE_FROM_SYSTEM 
        | FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL, err,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR)&lpMsgBuf, 0, NULL);
    printf("%s\n", lpMsgBuf);
    LocalFree(lpMsgBuf);
    return 0;
}

コンパイル:

> cl gle.cpp

使い方:

> gle 100
ほかのシステム セマフォを作成できません。

プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-14 23:19:36
md5:9a20c403ef1fe97865b94d80c8c762b0
sha1:411d64239f4174d0cf5cd16f9a4273260662c9af
コメント
コメントを投稿するにはログインして下さい。