小编Lef*_*ler的帖子

重复捕获组忽略空格

我有一些用空格分隔的文本.

类似123 10.03.1 TEXT1 TEXT2 TEXT3 TEXT4 TEXT5 TEXT6 2015/10/10 2012.

我能够得到所有不是"TEXT1 TEXT2 TEXT3 TEXT4 TEXT5 TEXT6"的东西我想重复该文本的捕获组:

TEXT1   TEXT2  TEXT3    TEXT4 TEXT5 TEXT6
Run Code Online (Sandbox Code Playgroud)

我想重复捕获组,类似于.

(\s*\w)*
Run Code Online (Sandbox Code Playgroud)

但我想忽略空白是否有办法忽略正则表达式的空白?

我将使用boost :: regex_search来获取捕获组.有没有办法存档,我试图在捕获组上使用"?:",但可能我错过了一些东西.

regex boost c++11

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

用汇编语言增加ecx

我需要增加一个数字,以便代码永远增加,但它保持为零.

这是我的代码:

section .data
FORMAT: db '%c', 0
FORMATDBG: db '%d', 10, 0
EQUAL: db "is equal", 10, 0
repeat:
    push  ecx  ; just to print
    push  FORMATDBG ; just to print
    call  printf ; just to print
    add esp, 8 ; add the spaces
    inc ecx ; increment ecx
    cmp ecx, 0 ; compare ecx to zero
    ja repeat ; if not equal to zero loop again
Run Code Online (Sandbox Code Playgroud)

x86 assembly

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

将struct的大小作为void传递给函数

我正在更改数据库库中的一些代码.它的工作方式我发送一个void指针,以获得它的大小我调用一个查询并使用查询我计算结构的大小.现在的问题是我接收结构作为参数但是函数在第一次获取之前/之中失败.之后,我需要清除结构,但我甚至没有大小.我知道最好的方法是将结构的大小作为参数发送,但我已经编译了成千上万的程序,该库是从1996开始的,所以我需要找到一种方法来计算结构大小,即使类型是无效的.

我的一个想法是计算下一个不在结构中的元素的位置

0x000010              0x000042
[int|char[30]|int|int][int]
Run Code Online (Sandbox Code Playgroud)

因此大小为32,因为0x00042-0x000010是32.

有没有办法知道我什么时候离开了这个结构.

功能的原型是

int getData(char* fields, void* myStruct)
Run Code Online (Sandbox Code Playgroud)

我需要找出结构尺寸.

对不起,如果我错过了一些信息,代码是巨大的,不幸的是我不能在这里发布.

c sybase struct pointers

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

我可以获得指向指向nullptr的指针的指针,它是否有效

我对以下代码有些怀疑:

void b(int** a){
        int *c = new int;
        *a = c;
        **a = 120;
}

int main(){
        int *a = nullptr;
        b(&a);
        if(a)
                delete a;
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

我担心的是,可能会导致UB,因为它是一个nullptr,我正在更改指针地址,因为我正在获取它的引用,但后来我开始认为这不应该是我将要遇到的问题.一些地址 - > nullptr.这个地址有效,所以我可以改变它.

我不止一次地运行了这个测试并启用了-fsanitize =地址,它运行正常.但是,这是正确的吗?

c++ dereference

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

标签 统计

assembly ×1

boost ×1

c ×1

c++ ×1

c++11 ×1

dereference ×1

pointers ×1

regex ×1

struct ×1

sybase ×1

x86 ×1