我正在尝试理解boost log 教程,并且我编写了以下代码:
#include <iostream>
#include <boost/log/keywords/severity.hpp>
#include <boost/log/sources/record_ostream.hpp>
#include <boost/log/sources/severity_feature.hpp>
#include <boost/log/sources/severity_logger.hpp>
namespace keywords = boost::log::keywords;
namespace src = boost::log::sources;
// We define our own severity levels
enum severity_level
{
normal = 0,
notification,
warning,
error,
critical
};
void logging_function()
{
// The logger implicitly adds a source-specific attribute 'Severity'
// of type 'severity_level' on construction
src::severity_logger< severity_level > slg;
BOOST_LOG_SEV(slg, normal) << "A regular message";
BOOST_LOG_SEV(slg, warning) << "Something bad is going on but I can …Run Code Online (Sandbox Code Playgroud) 我试图验证输入字符串中是否有特定字符串,如果是,则根据找到的字符串执行某些操作; 但无论如何......它似乎总是在做第一项任务......
if (inputString.find(str1) >= 0)
{
//do something
}
else if (inputString.find(str2) >= 0)
{
// do something else
}
else
{
std::cout << "Strange" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
// do something无论是否str1存在,它总是进入区块inputString.
如果我做
int str1pos = inputString.find(str1);
int str2pos = inputString.find(str2);
if (str1pos >= 0)
{
//do something
}
else if (str2pos >= 0)
{
// do something else
}
else
{
std::cout << "Strange" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
它似乎工作.这是为什么?我究竟做错了什么?
我有一个脚本,使用jq解析json字符串MESSAGE(从另一个应用程序读取).与此同时,json已经发生了变化,并且场地分为两个区域:file_path现在分为folder和file.脚本正在读取file_path,现在folder可能不存在,所以为了创建文件的路径,我必须验证字段是否存在.我在互联网上搜索了一段时间,并设法做到:
echo $(echo $MESSAGE | jq .folder -r)$'/'$(echo $MESSAGE | jq .file -r)
if [ $MESSAGE | jq 'has(".folder")' -r ]
then
echo $(echo $MESSAGE | jq .folder -r)$'/'$(echo $MESSAGE | jq .file -r)
else
echo $(echo $MESSAGE | jq .file -r)
fi
Run Code Online (Sandbox Code Playgroud)
在哪里MESSAGE='{"folder":"FLDR","file":"fl"}'或MESSAGE='{"file":"fl"}'
第一行是打印FLDR/fl或null/fl文件夹字段不存在.所以我想创建一个如果验证文件夹字段是否存在,但似乎我做错了,无法弄清楚是什么问题.输出是
bash: [: missing `]'
jq: ]: No such file or directory
null/fl
Run Code Online (Sandbox Code Playgroud) 我有一个使用 OpenCV 2.4.9 的应用程序,现在我想测试 OpenCV 3.0.0-beta。我已更改为标记 3.0.0-beta 并构建库。我已经安装了它,现在我安装了 3 个版本的 OpenCV 2.4.8、2.4.9 和 3.0.0-beta。有没有办法选择我想要的版本?
该应用程序是用 C++ 编写的,并使用 cmake 构建。这是进行链接的代码部分:
# ...
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(${EXECUTABLE_NAME}
# ...
)
target_link_libraries(${EXECUTABLE_NAME} ${OpenCV_LIBS})
# ...
Run Code Online (Sandbox Code Playgroud)
请帮助选择 OpenCV 的版本?
我有一个百分比表:
A | B | C
-------------------
1| 12% | 22% | 42%
-------------------
2| 52% | 2% | 82%
-------------------
3| 72% | 32% | 92%
Run Code Online (Sandbox Code Playgroud)
是否可以根据单元格中的值创建颜色图(如热图)?0% 是纯绿色,100% 是纯红色
我有一个看起来像这样的 json:
{"field":{"val1":25, "val2":48, "name1":"qqd"}}
Run Code Online (Sandbox Code Playgroud)
当我对收到的 json 进行验证时,它具有如下特定字段:
std::size_t fcnt = pt.count("field");
std::size_t val1cnt = pt.count("field.val1");
std::size_t val2cnt = pt.count("field.val2");
std::size_t nm1cnt = pt.count("field.name1");
std::cout << fcnt << val1cnt << val2cnt << nm1cnt << std::endl; // this is just for testing
if (fcnt != 1 || val1cnt != 1 || val2cnt != 1 || nm1cnt !=1)
throw BadJSONFormatException();
Run Code Online (Sandbox Code Playgroud)
我总是得到异常,打印的值是:1000. 为什么?count不是这样工作的吗?
我修改了一个文件,我不知道什么时候了。我想查看更改该文件的所有提交。并且基于这些提交,我想在与我正在搜索的修改相关联的其他文件中搜索其他修改。我已经尝试过,git blame但似乎只是显示了最后一次提交和未提交的更改。谁能告诉我如何做到这一点?
更明确地说:我正在 json 文件中搜索修改,并基于这些修改,我在我的应用程序代码 (cpp) 文件中做了一些修改。所以我想搜索那些提交并查看我修改过的代码。PS:我同时改变了json的结构,所以我不想要最后的修改。
嗨,我正在尝试学习使用make文件编译java类.我的make文件看起来像这样:
build:
javac test_java.java
clean:
rm -rfv *~ test_java.class
run:
java test_java
Run Code Online (Sandbox Code Playgroud)
现在我已经移动test_java.java到一个文件夹,称为classes我试图使用相对路径编译文件,是否可能?
我试过了:
javac -d classes test_java.java
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
javac -d classes test_java.java
javac: file not found: test_java.java
Usage: javac <options> <source files>
use -help for a list of possible options
Run Code Online (Sandbox Code Playgroud)
我也尝试过:-d ./classes并且-d /home/the/whole/path(但我希望有相对路径),并且错误是相同的.它似乎只有工作
javac classes/test_java.java
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有一个roles/ec2/tasks/main.yml正在尝试创建一个文件夹:
---
- name: Mkdir /opt/applications
file: path=/opt/applications state=directory
Run Code Online (Sandbox Code Playgroud)
它被称为以下角色start.yml:
- hosts: tag_composant_XXX:&tag_Name_XXX-sandbox
remote_user: ec2-user
vars:
ec2_ami_name: XXX-base-{{ ansible_date_time.year }}-{{ ansible_date_time.month }}-{{ ansible_date_time.day }}
ec2_ami_description: Ami to launch XXX
instance_tag_environnement: XXX
roles:
- {role: ec2, sudo: true}
Run Code Online (Sandbox Code Playgroud)
它是说
failed: [x.x.x.x] => {"failed": true, "parsed": false}
Traceback (most recent call last):
File "/home/ec2usr/.ansible/tmp/ansible-tmp-1438095761.0-196976221154211/file", line 1994, in <module>
main()
File "/home/ec2usr/.ansible/tmp/ansible-tmp-1438095761.0-196976221154211/file", line 279, in main
os.mkdir(curpath)
OSError: [Errno 13] Permission denied: '/opt/applications'
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 …Run Code Online (Sandbox Code Playgroud)