小编Sco*_*nco的帖子

在XWindows中绘制时为什么有关系?

我把这个XWindows“你好,世界”从网络上删除了。我有一个更复杂的程序无法理解的行为,但是这里的简单程序也会显示它:

#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
   Display *d;
   Window w;
   XEvent e;
   const char *msg = "Hello, World!";
   int s;
   int x;

   d = XOpenDisplay(NULL);
   if (d == NULL) {
      fprintf(stderr, "Cannot open display\n");
      exit(1);
   }

   s = DefaultScreen(d);
   w = XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 100, 100, 1,
                           BlackPixel(d, s), WhitePixel(d, s));
   XSelectInput(d, w, ExposureMask | KeyPressMask);
   XMapWindow(d, w);

   XDrawString(d, w, DefaultGC(d, s), 10, 50, msg, strlen(msg));

   //XFlush(d);

   while (1) {
      XNextEvent(d, &e); …
Run Code Online (Sandbox Code Playgroud)

c linux x11 xlib

3
推荐指数
1
解决办法
110
查看次数

如何使用stdio.h覆盖?

我想覆盖现有文件,这应该很简单:

#include <stdio.h>

int main()
{
    FILE *f;
    unsigned char ba;
    int i;

    f = fopen("junk", "wb");
    for (i = 1; i <= 10; i++)
        fputc(i, f);
    fclose(f);
    f = fopen("junk", "ab");
    fseek(f, 0, SEEK_SET);

    for (i = 1; i <= 5; i++) {
        printf("Position before: %ld\n", ftell(f));
        fputc(99, f);
        printf("Position after: %ld\n", ftell(f));
    }

    fclose(f);
    f = fopen("junk", "rb");

    for (i = 1; i <= 10; i++) { 
        ba = fgetc(f);
        printf("%d ", ba); 
    }

    printf("\n");
}
Run Code Online (Sandbox Code Playgroud)

结果是:

Position …
Run Code Online (Sandbox Code Playgroud)

c stdio

1
推荐指数
1
解决办法
176
查看次数

标签 统计

c ×2

linux ×1

stdio ×1

x11 ×1

xlib ×1