1

X11 の XDrawString の宣言を見ると、

int XDrawString(Display *display, Drawable d, GC gc,
                int x, int y, char *string, int length);

6 番目の引数が「const char *」ではなく「char *」型になっているのはなぜですか? 文字列を描画するには、文字列を変更する必要がありますか? 人々が定数文字列を渡す例をたくさん見てきました。それは危険ですか?

4

3 に答える 3

2

私の両方のシステム (Mac OS X v10.4.11 および libx11-dev 2:1.1.5-2ubuntu1.1 を使用する Ubuntu) で、私の X11 ヘッダーはconst. から/usr/include/X11/Xlib.h:

extern int XDrawString(
    Display*            /* display */,
    Drawable            /* d */,
    GC                  /* gc */,
    int                 /* x */,
    int                 /* y */,
    _Xconst char*       /* string */,
    int                 /* length */
);

_Xconstあり#defineます。const_X11/Xfuncproto.h

于 2009-06-14T20:33:26.977 に答える