小编Avi*_*ash的帖子

直接读取.evt/.evtx文件

你好有人知道怎么读.evt /.evtx这是Windows事件日志文件读取不使用提供的api,我想用FILE I/Oapis 读取它们C/C++.

或者如何将这些文件转换成.txt,我知道splunk这样做但不确定他们是如何做到这一点的.

c++ windows splunk event-log

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

查找十进制数字总和的最快方法

找到十进制数字总和的最快方法是什么?以下代码是我写的,但是范围非常慢1 to 1000000000000000000

long long sum_of_digits(long long input) {
    long long total = 0;
    while (input != 0) {
        total += input % 10;
        input /= 10;
    }
    return total;
}

int main ( int argc, char** argv) {
    for ( long long i = 1L; i <= 1000000000000000000L; i++) {
        sum_of_digits(i);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ algorithm math

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

指针在C++中通过新检查返回

通过new operator 以下类型的代码检查指针返回的最佳方法是什么?假设我有class Test

输入1

Test *ptr = new Test;
if ( ptr == NULL ) {
}
Run Code Online (Sandbox Code Playgroud)

类型2

Test *ptr = new Test;
if ( !ptr ) {
}
Run Code Online (Sandbox Code Playgroud)

输入3

Test *ptr = new Test;
if ( ptr == (Test*)0 ) {
}
Run Code Online (Sandbox Code Playgroud)

c++

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

C++中的字符串标记化,包括分隔符字符

我有以下形式a = x + yabc = xyz + 56 + 5或的字符串 f(p)

我需要的是标记字符串,以便我读取每个字符串operator,operand 因此对于a = x + y令牌返回应该是,a,=,x,+,y并且如果abc=xyz+5它应该返回abc,=,xyz,+,5.请注意,operator和之间可能有空格,也可能没有空格operands

这是我试过的

void tokenize(std::vector<std::string>& tokens, const char* input, const char* delimiters) {
    const char* s = input;
    const char* e = s;
    while (*e != 0) {
        e = s;
        while (*e != 0 && strchr(delimiters, *e) == 0) {
            ++e;
        }
        if …
Run Code Online (Sandbox Code Playgroud)

c++ stl

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

新的和删除运算符重载为DLL

如何过载newdelete操作员dll.我已经将重载运算符写为dll的一部分,但是与此链接的客户端dll不使用overloaded new and delete

c++ window new-operator

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

C++反射如何实现

我知道C++不支持反射,但是我通过模板元编程来完成文章Reflection支持,但是不明白这是如何实现的.有没有人会有更多关于如何使用模板元编程在C++中实现这一目标的细节或示例?

c++ reflection template-meta-programming

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

ctypes,返回结构体指针的函数

我的 C 代码返回一个指向该结构的指针,这就是我在中定义它的方式python

class CONTEXT(ctypes.Structure):
  _fields_ = [
                ("sockfd", ctypes.c_int), 
                ("eidSeq", ctypes.c_longlong)
             ]
# API
# connect
PY_connect=NativeDll.gf_connect
# connect input and output parameter declaration
PY_connect.argtype = [ 
                          ctypes.c_char_p, 
                          ctypes.c_char_p, 
                          ctypes.POINTER(ctypes.c_int)
                        ]
PY_connect.restype = [
                          ctypes.POINTER(CONTEXT)
                        ]
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误restype

TypeError: restype must be a type, a callable, or None

python ctypes

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

Perl的IO ::在Windows中选择是否可以使用文件句柄?

Windows中的IO :: Select是否可以使用文件句柄?

$pid = open $handle, "-|", "$_command" || die "Cannot run $_command";
my $s = IO::Select->new();
$s->add($handle);
$s->add(\*STDIN);
while (1) {
    @ready = $s->can_read(30);
    if (scalar(@ready) > 0) {
    }
    else {
    }
}
Run Code Online (Sandbox Code Playgroud)

我的脚本不断地在屏幕上打印一些内容,打开后,命令在后台启动,但can_read在Windows上始终失败.有帮助吗?

perl

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

适用于Windows的双插槽

在Unix上,可以使用单个套接字用于IPv6和IPv4(双模式).在Windows上,这不受支持.是否有人使用相同的Windows套接字实现相同的解决方案.

sockets windows

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

文件名复制算法

当我在Windows中复制以下文件在同一目录中时.

"Log.txt"将其复制为"Log.txt的副本"如果现在再次复制"Copy of Log.txt",它将被复制为"Log.txt的副本副本"如果现在再次复制"Log of Log" .txt"它被复制为"Copy of Log.txt的Copy(2)"

任何人都知道这里使用了什么算法.

algorithm

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