美文网首页
2020-05-25

2020-05-25

作者: Vwwwwww | 来源:发表于2020-05-24 23:12 被阅读0次
//============================================================================
// Name        : EzSimulator.cpp
// Author      : 
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C, Ansi-style
//============================================================================

#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <map>
#include <cstdint>
#include <iostream>
#include <vector>
#include <unistd.h>

struct Msg {
    std::string name;
    int id;
    int time;
};

void printfcolum(std::vector<uint8_t> keys, std::map<uint16_t, Msg> msgs) {

    printf("keys size:%lu    msgs size:%lu  \n", keys.size(), msgs.size());
    for (uint8_t i = 0; i < keys.size(); i++) {
        printf("vector:%d \n", keys[i]);
    }

    for (std::map<uint16_t, Msg>::iterator ite = msgs.begin(); ite
            != msgs.end(); ite++) {
        uint16_t dd = ite->first;
        std::string name = ite->second.name;
        printf("key:%d name:%s \n", dd, name.c_str());
    }
}

void testVector() {

    std::vector<uint8_t> keys;
    std::map<uint16_t, Msg> msgs;

    Msg msg;
    msg.id = 1;
    msg.name = "nihao";

    keys.push_back(10);
    msgs.insert(std::make_pair(10, msg));

    keys.push_back(2);
    msg.name = "nihao1";
    msgs.insert(std::make_pair(2, msg));

    keys.push_back(3);
    msg.name = "nihao2";
    msgs.insert(std::make_pair(3, msg));

    printfcolum(keys, msgs);

    printf("###############  start ##############   \n");
    uint8_t key;
    Msg data;
    if (keys.size() > 0) {
        key = keys[0];
        data = msgs.at(key);
        printf("get key:%d name:%s \n", key, data.name.c_str());
    }

    // delete
    if (keys.size() > 0) {
        if (keys.front() == key) {
            printf("delete begin:%d key:%d \n", keys.front(), key);
            keys.erase(keys.begin());
            if (msgs.count(key)) {
                msgs.erase(key);
            }
        }
    }

    printfcolum(keys, msgs);

}

void sendmsg(Msg msg) {
    printf(" sendmsg: %s \n", msg.name.c_str());
}

int secend_pre;
void sleep_query(int secend, Msg msg) {
    printf(" secend:%d   secend_pre:%d\n", secend, secend_pre);
    int sleep_time = secend - secend_pre;
    if (sleep_time > 0) {
        time_t start;
        time(&start);
        printf(" ---    waitting  %ld  --start- sleep_time:%d \n", start,
                sleep_time);
        sleep(sleep_time);
        time_t end;
        time(&end);
        printf(" ---    waitting  %ld --end-  \n", end);
        printf(" ---    time  %ld ---  \n", (end - start));
        sendmsg(msg);

    } else {
        sendmsg(msg);
    }
    secend_pre = secend;
}

void testSendMsg() {
    std::vector<Msg> msgs;
    for (int i = 0; i < 10; i++) {
        Msg msg;
        msg.name = "msg " + std::to_string(i);
        msg.time = 2 + i;
        msgs.push_back(msg);
    }

    for (uint8_t i = 0; i < msgs.size(); i++) {
        sleep_query(msgs[i].time, msgs[i]);
    }
}

int main(void) {
    puts("Hello World!!!");

    return EXIT_SUCCESS;
}

相关文章

  • 2020-05-26

    2020-05-25 2020-05-25 成长日志第340天 家名:温暖有爱之家 家规:真诚待人不自欺,学会看见...

  • 忙碌于一针一刀间,疼痛医生周记

    忙碌于一针一刀间,疼痛医生周记(2020-05-25至2020-05-29) 刘晓...

  • 2020-05-25周检视

    2020-05-25周检视 易效能进阶周达人养成记 日历:本周我完成重要日历事项: 叶老师全天课程,周会, 下周日...

  • 值得收藏的30条金句

    2020-05-25 01剑未佩妥,出门已是江湖。——痞子蔡 02生活在阴沟里,依然有仰望星空的权利。——王尔德 ...

  • /互帮互助/彭进小姐妹

    2020-05-25 幸运小仙女——彭进 我的hpv疫苗的小仙女传递给我啦。 我觉得好幸运!!! 也觉得人间还是需...

  • 文献管理实践 - 全局定位 Zotero 中的文献条目

    2020-05-25 Monday @SG 早就想写篇关于文献管理的博文,但要做好文献管理并不容易,我自己也在不断...

  • 在这栽了两回,服了

    【徐州公安交警支队】您的小型汽车苏CRUxx6于2020-05-25 17:38在徐州市管道公司西门,被交通技术监...

  • 2020-05-25

    2020-05-25 有个摄影作业,也算是私活,吃过午饭,早早地来到了照相馆。 其实我跟这儿照相馆的老板,很早前就...

  • 真正的爱自己NO.190

    2020-05-25 星期一 晴 真正的爱自己NO.190 在我广阔的人生中 一切都是完美完整和完全的 我总是被...

  • 「是与否的挣扎」练习日记(17)

    2020-05-25 早晨盥洗时發现两脇从腋下到腰部的肌肉一片痠痛,但心裡却是很开心,证明昨日的练习,支撑手臂的力...

网友评论

      本文标题:2020-05-25

      本文链接:https://www.haomeiwen.com/subject/cdgsahtx.html