小编por*_*omp的帖子

scanf参数是否允许别名?

我正在使用scanf来提取非常规则的表格数据.我需要在两遍中重复它,并且可以在某些时候安全地忽略一些参数.我想为我关心的字符串分配空间,为其他字符串分配一个"discard"字符串.如果我多次传递此参数作为输出,是否定义了行为?

一个愚蠢的最小例子:

char label[MAX_SIZE], discard[MAX_SIZE];
sscanf(input, "%s %s %s %s", discard, label, discard, discard);
Run Code Online (Sandbox Code Playgroud)

c scanf

8
推荐指数
2
解决办法
118
查看次数

CGImageRef宽度与每行字节数不一致

我正在尝试从屏幕缓冲区中读取像素,我正在创建一个CGImageRefwith CGDisplayCreateImage,但是值的值CGImageGetWidthCGImageGetBytesPerRow"没有意义"在一起,将每行的字节数除以每个像素的字节数给出了每行1376个像素,但是图像的宽度是1366.

这里发生了什么?图像中是否有某种填充?如何安全地读取数据,并获得正确的结果?

编辑:重现此操作所需的最小代码如下:

#import <Foundation/Foundation.h>
#import <ApplicationServices/ApplicationServices.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        CGImageRef image = CGDisplayCreateImage(CGMainDisplayID());

        size_t width = CGImageGetWidth(image);
        size_t bpr = CGImageGetBytesPerRow(image);
        size_t bpp = CGImageGetBitsPerPixel(image);
        size_t bpc = CGImageGetBitsPerComponent(image);
        size_t bytes_per_pixel = bpp / bpc;

        NSLog(@"%li %li", bpr/bytes_per_pixel, width);

        CGImageRelease(image);

    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

macos cocoa framebuffer cgimageref

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

诅咒设置明亮和黑暗的背景

为此,注意到我在 Mac 上运行 python 可能会很有用xterm-color

我正在尝试用 Python 构建一个带有诅咒的国际象棋游戏,但我不知道如何设置颜色对以使用亮黑色或亮白色(这样我可以在棋盘和棋子之间获得更好的对比度。)终端显示明亮的颜色是颜色+8(所以8-15范围),但如果我尝试使用这些,我会回来init_pair() returned ERR(例如,在:)

curses.init_pair(1, 0, 15)
Run Code Online (Sandbox Code Playgroud)

我还认为使用A_BOLDA_BLINK属性可能会让我在诅咒中设置明亮的颜色,但这似乎没有任何效果。例如:

pad.addstr(y, x, "qwert", curses.color_pair(1)|curses.A_BOLD)
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能获得这些颜色?

编辑: 事实证明,我在终端中的设置错误(未选中“对粗体文本使用明亮的颜色”),但我似乎仍然没有任何方法来设置明亮的背景颜色。

python curses macos colors

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

标签 统计

macos ×2

c ×1

cgimageref ×1

cocoa ×1

colors ×1

curses ×1

framebuffer ×1

python ×1

scanf ×1