小编Jac*_*kzz的帖子

在Linux中使用C++设置系统日期和时间

我正在开发一个跨平台应用程序,它将系统日期和时间更改为指定值.我已经完成了部分Windows.

如何从C++程序中设置系统日期和时间Linux?我正在寻找类似的功能SetSystemTime(SYSTEMTIME &x).

据我所知settimeofday(),对日期没有任何影响,我不确定函数的用法stime().我希望mktime()与我的需要无关.

有谁能够帮我.

c++ linux datetime

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

在VC++中读取一个boost内存映射文件的结尾

我正在使用VS2010编写一个C++程序来读取文本文件并从中提取某些信息.我使用filestream完成了代码,效果很好.但是现在我被要求将文件映射到内存并使用它而不是文件操作.

在内存映射的情况下,我绝对是一个新手.我写的代码的一部分如下.

boost::iostreams::mapped_file_source apifile;

apifile.open(LogFileName,LogFileSize);

if(!apifile.is_open()) 

return FILE_OPEN_ERROR;

// Get pointer to the data.

PBYTE Buffer = (PBYTE)apifile.data();

while(//read till end of the file)
{
     // read a line and check if it contains a specific word
}
Run Code Online (Sandbox Code Playgroud)

在使用FILESTREAM我会用eofgetlinestring::find用于执行操作.但我不知道如何使用内存映射文件来做到这一点.

编辑1:

int ProcessLogFile(string file_name)
{
    LogFileName = file_name;

    apifile.open(LogFileName);//boost::iostreams::mapped_file_source apifile(declared globally)

    streamReader.open(apifile, std::ios::binary);//boost::iostreams::stream <boost::iostreams::mapped_file_source> streamReader(declared globally)

    streamoff Curr_Offset = 0;

    string read_line;

    int session_id = 0;

    int device_id = 0;

    while(!streamReader.eof())
    {
        \\COLLECT OFFSETS OF …
Run Code Online (Sandbox Code Playgroud)

c++ memory boost visual-studio-2010

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

如何在KDevelop中查看变量的值?

KDevelop用作我的C++程序的IDE .我的char buffer[1024]程序中有一个数组.读取数据到缓冲区后,我想手动检查.但是在左侧面板中,我需要读取数组character by character.有什么方法可以让我一次获得数组的内容?

c++ memory arrays kdevelop

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

致命错误:FlexLexer.h:没有这样的文件或目录

我创建了一个简单的 Flex 文件来读取并返回文件中的标记。我使用命令flex -c++scanner.l生成了扫描仪文件。当尝试编译生成的 lex.yy.cc 文件时,我收到以下错误:

Fatal error: FlexLexer.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

flex 的 include 文件夹包含 FlexLexer.h 文件。我还尝试将文件复制到 lex.yy.cc 所在的同一文件夹中。错误仍然存​​在。

我使用的是Windows7。

我怎么解决这个问题。谢谢

c++ windows flex-lexer

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

QFileDialog的多个实例的历史记录

QT在我的C++申请中使用.我知道当我使用时QFileDialog,历史记录会保存在注册表中.假设我QFileDialog在应用程序中有多个实例.我可以单独保存每个实例的历史记录吗?据我检查,似乎为每个实例更新了相同的注册表项.

c++ qt qfiledialog

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

使用结构中定义的枚举作为C++中的case常量

我有一个头文件中定义enum的成员structure.例如,

struct abc{
    enum xyz{
        FIRST =1;
        SEC =2;
    }qw;
};
Run Code Online (Sandbox Code Playgroud)

在我的.cpp文件中,我已经包含了这个标题.我有一个switch case在我的文件中,这些enums将被用作case constants.

struct abc az;
switch(az.qw){
case FIRST:....
case SEC:...
default:..
}
Run Code Online (Sandbox Code Playgroud)

但我得到错误FIRST is not declared in this scope.如何克服这个问题.

c++ enums struct switch-statement

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

修复转移/减少野牛语法中的冲突

我为解析文本文件而编写的野牛语法给了我10个移位/减少冲突.parser.output文件对我没有帮助.该文件提供了以下信息:

State 38 conflicts: 5 shift/reduce
State 40 conflicts: 4 shift/reduce
State 46 conflicts: 1 shift/reduce

Grammar

0 $accept: session $end

1 session: boot_data section_start

2 boot_data: head_desc statement head_desc head_desc

3 head_desc: OPEN_TOK BOOT_TOK statement CLOSE_TOK
4          | OPEN_TOK statement CLOSE_TOK

5 statement: word
6          | statement word

7 word: IDENTIFIER
8     | TIME
9     | DATE
10     | DATA

11 section_start: section_details
12              | section_start section_details
13              | section_start head_desc section_details

14 $@1: /* empty */

15 section_details: …
Run Code Online (Sandbox Code Playgroud)

parsing bison shift-reduce-conflict

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

C++:在Windows中监视进程创建和终止

我碰巧在这里看到了以下部分代码.

$Obj.ExecNotificationQueryAsync($hObj, "SELECT * FROM __InstanceCreationEvent WITHIN 0.5 WHERE TargetInstance ISA 'Win32_Process'")
$Obj.ExecNotificationQueryAsync($hObj, "SELECT * FROM __InstanceDeletionEvent WITHIN 0.5 WHERE TargetInstance ISA 'Win32_Process'")


Switch $OB.Path_.Class
            Case "__InstanceCreationEvent"
                ConsoleWrite("+~>" & _ProcessGetPath($OB.TargetInstance.ProcessID) & @CR)
            Case "__InstanceDeletionEvent"
                ConsoleWrite("!~>" & $OB.TargetInstance.ProcessID & @CR)
        EndSwitch
Run Code Online (Sandbox Code Playgroud)

我使用相同的WQL查询来监视进程C++.是否存在类似的东西C++,我可以知道它是创建还是终止进程.我尝试使用__CLASS,但它输出为Win32_Process.我在编码MSVS2010.

请帮忙.Thankyou

编辑1:添加了WQL查询

hres = pSvc->ExecNotificationQueryAsync(
        _bstr_t("WQL"), 
        _bstr_t("SELECT * " 
            "FROM __InstanceDeletionEvent WITHIN 1 "
            "WHERE TargetInstance ISA 'Win32_Process' "), 
        WBEM_FLAG_SEND_STATUS, 
        NULL, 
        pStubSink);


     hres = pSvc->ExecNotificationQueryAsync( …
Run Code Online (Sandbox Code Playgroud)

c++ wmi process wmi-query wql

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

使用C++在Windows中获取OSVersion

我必须得到OSVersion我的Windows8系统(版本应该是NT 6.2)在C++应用程序中使用.我尝试使用GetVersion函数调用.但它给了我一个原始的价值602931718.是否有某种方法可以获得此处列出的版本或如何将此原始值转换为可读形式?

c++ windows version

0
推荐指数
2
解决办法
2万
查看次数