我有一些用空格分隔的文本.
类似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来获取捕获组.有没有办法存档,我试图在捕获组上使用"?:",但可能我错过了一些东西.
我需要增加一个数字,以便代码永远增加,但它保持为零.
这是我的代码:
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) 我正在更改数据库库中的一些代码.它的工作方式我发送一个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)
我需要找出结构尺寸.
对不起,如果我错过了一些信息,代码是巨大的,不幸的是我不能在这里发布.
我对以下代码有些怀疑:
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 =地址,它运行正常.但是,这是正确的吗?