小编gag*_*eet的帖子

使用C++解析文件,将值加载到结构中

我有以下文件/行:

pc=1 ct=1 av=112 cv=1100 cp=1700 rec=2 p=10001 g=0 a=0 sz=5 cr=200
pc=1 ct=1 av=113 cv=1110 cp=1800 rec=2 p=10001 g=0 a=10 sz=5 cr=200
Run Code Online (Sandbox Code Playgroud)

等等.我希望解析它并获取键值对并将它们放在一个结构中:

struct pky
{
    pky() :
      a_id(0),
      sz_id(0),
      cr_id(0),
      cp_id(0),
      cv_id(0),
      ct_id(0),
      fr(0),
      g('U'),
      a(0),
      pc(0),
      p_id(0)
    { }
};
Run Code Online (Sandbox Code Playgroud)

其中,可以使用所有结构字段,也可以省略一些结构字段.

如何创建一个C++类,它会做同样的事情?我是C++的新手,并不知道任何可以完成这项工作的函数或库.

每行都要进行处理,每次使用一行并填充结构,然后再刷新.该结构稍后用作函数的参数.

c++ parsing file

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

使用数组初始化struct

我有几个数组:

const string a_strs[] = {"cr=1", "ag=2", "gnd=U", "prl=12", "av=123", "sz=345", "rc=6", "pc=12345"};
const string b_strs[] = {"cr=2", "sz=345", "ag=10", "gnd=M", "prl=11", "rc=6", "cp=34", "cv=54", "av=654", "ct=77", "pc=12345"};
Run Code Online (Sandbox Code Playgroud)

然后我需要解析'='然后将值放在结构中.(rc键映射到结构中的fc键),其形式为:

struct predict_cache_key {
    pck() :
        av_id(0),
        sz_id(0),
        cr_id(0),
        cp_id(0),
        cv_id(0),
        ct_id(0),
        fc(0),
        gnd(0),
        ag(0),
        pc(0),
        prl_id(0)
    { }

    int av_id;
    int sz_id;
    int cr_id;
    int cp_id; 
    int cv_id;
    int ct_id;
    int fc;
    char gnd;
    int ag;
    int pc;
    long prl_id;
};
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是数组不是与struct字段顺序或顺序相同.因此,我需要检查每个,然后想出一个方案,将相同的结构放入结构中.

有什么帮助使用C或C++来解决上述问题?

c c++ parsing

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

使用boost库进行多线程处理

希望同时多次调用函数.我希望使用线程来调用一个能充分利用机器功能的功能.这是一台8核机器,我的要求是使用10%到100%或更高的机器CPU.

我的要求是使用boost类.有什么方法可以使用boost线程或线程池库来完成这个任务吗?还是其他一些方法呢?

另外,如果每次必须使用不同的参数调用多个函数(使用单独的线程),最好的方法是什么?[使用提升或不使用提升]以及如何?

#include <iostream>
#include <fstream>
#include <string.h>
#include <time.h>
#include <boost/thread/mutex.hpp>
#include <boost/bind.hpp>

using namespace std;
using boost::mutex;
using boost::thread;

int threadedAPI1( );
int threadedAPI2( );
int threadedAPI3( );
int threadedAPI4( );

int threadedAPI1( ) {
    cout << "Thread0" << endl;
}


int threadedAPI2( ) {
    cout << "Thread1" << endl;
}

int threadedAPI3( ) {
    cout << "Thread2" << endl;
}

int threadedAPI4( ) {
    cout << "Thread3" << endl;
}

int main(int argc, char* argv[]) { …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading boost-bind boost-thread

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

线程和进程

什么是线程的最佳定义以及什么是进程?如果我调用一个函数,我怎么知道一个线程正在调用它或一个进程(或者我不理解它?).这是一个多核系统(四核).

multithreading process

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

如何使用Perl将相同的文本写入两个单独的文件句柄?

我需要将相同的文本输出到两个不同的文件(这是一个应用程序要求,我正在测试).现在,我不想打开两个文件句柄,每行写两行,然后在我的代码中关闭它们十几次.

是否有一种简单的方法,可能在Perl中使用单行(但不在CLI中),将相同的文本发送到两个不同的文件?

perl text-files

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

如何将区分大小写的SVN源代码分支签出到不区分大小写的系统?

我正在开发一个Macbook系统,它被格式化为不区分大小写的系统.问题是,我需要查看一个SVN分支,其中包含一些区分大小写的文件.例:

inbuilt-file.c
InBuilt-File.c
Run Code Online (Sandbox Code Playgroud)

当两个文件都在同一个文件夹中时,如何签出此分支?当我尝试结帐时,它给出了一个错误,指出该名称的无版本文件已经存在.

svn case-sensitive case-insensitive

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

*nix上的c4.5算法实现

我试图在我的mac os机器上编译和执行c4.5算法(也有一个红帽企业linux 4.6机器),但是无法获得相同的任何地方.

有没有人试过这个并成功地在他们的机器上编译和执行?如果,那么,请您分享一下这些步骤吗?

unix algorithm implementation

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

按内容跨多个目录查找重复文件

我从互联网上下载了一些与特定主题相关的文件.现在我想检查文件是否有任何重复.问题是文件的名称会有所不同,但内容可能会匹配.

有没有办法实现一些代码,它将遍历多个文件夹并通知哪些文件是重复的?

regex duplicate-data

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

如何在Perl中捕获并处理信号?

是否有任何方法可以捕获错误并从Perl中优雅地退出?我正在处理一个脚本,该脚本可能由于操作系统或我服务器上运行的其他应用程序的SIG事件而失败.我希望捕获此事件,显示错误并在关闭脚本执行期间打开的所有文件和其他属性后退出.

perl signals

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

Windows中嵌入式平台的交叉编译器

我希望为Linux构建一个编译器(GCC端口),以便构建的GCC在Windows上运行并为嵌入式平台创建可执行文件.

以上可能吗?

compiler-construction embedded gcc

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