小编MrD*_*Duk的帖子

如何从终端启动C应用程序,并将参数传递给int main(int argc,char*argv [])?

我是Mac的开发新手 - 我用xcode编码,我无法弄清楚如何使用参数启动我的应用程序.我可以导航到应用程序目录并执行以下操作:

open application
Run Code Online (Sandbox Code Playgroud)

但我做不到:

open application param1 param2
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

c++ macos xcode

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

从目录树递归复制文件类型

我正在尝试找到一种方法将所有*.exe文件(以及更多,*.dtd,*.obj等)从目录结构复制到另一个路径.

例如,我可能有:

Code
   \classdirA
             \bin
                 \classA.exe
   \classdirB
             \bin
                 \classB.exe
   \classdirC
             \bin
                 \classC.exe
   \classdirD
             \bin
                 \classD.exe
Run Code Online (Sandbox Code Playgroud)

我想将所有*.exe文件复制到一个目录中,比如说c:\bins 最好的方法是什么?

我的系统的约束是:

  • 视窗
  • 可以是Perl,Ruby或.cmd

谁知道我应该在这看什么?

ruby windows perl copy batch-file

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

有没有更Pythonic的方法来传递多个可能的异常?

基本上,我想为针对我的 slackbot 的以下任何命令保留打开选项:

@torbot

@torbot [命令]

@torbot [命令] [参数]

下面是我现在一直在用的,但看起来很丑。根据我的经验,通常当某件事看起来很难看时,这意味着可能有一种更直观的方法来完成同样的事情。

class TorbotCommand(object):
def __init__(self, input):
    self.__input = input

    # TODO: There has to be a better way..
    try:
        self.__command_string = self.__input['text'].split(' ', 1)[1].strip().lower()
    except:
        self.__command_string = None
        pass

    try:
        self.__command = self.__command_string.split(' ', 1)[0]
    except:
        self.__command = None
        pass

    try:
        self.__text = self.__command_string.split(' ', 1)[1]
    except: 
        self.__text = None
        pass

def getCommand(self): return self.__command
def getText(self): return self.__text
def getInput(self): return self.__input
Run Code Online (Sandbox Code Playgroud)

python exception python-2.7

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

如何将 dos2unix 添加到基于 Alpine 的 docker 容器?

我有以下 dockerfile:

FROM haproxy:alpine

RUN apk --update add bash && apk --no-cache add dos2unix rsyslog supervisor wget curl ruby which py-setuptools py-pip && pip install awscli && chmod +x /*.sh

COPY *haproxy.cfg /etc/
COPY supervisord.ini /etc/
COPY rsyslog.conf /etc/

COPY entrypoint.sh /
RUN dos2unix /entrypoint.sh && apt-get --purge remove -y dos2unix

ENTRYPOINT ["/entrypoint.sh"]

EXPOSE 9999

CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.ini"]
Run Code Online (Sandbox Code Playgroud)

但是,当我构建它时,我得到:

fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  dos2unix (missing):
    required by: world[dos2unix]
Run Code Online (Sandbox Code Playgroud)

我可以看到这里存在这个包:https : //pkgs.alpinelinux.org/packages?name=dos2unix&branch=&repo=&arch=&maintainer=

我究竟做错了什么?

docker dockerfile alpine-linux

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

如何在保留引号的同时将数组加入字符串?

我有一个字符串: {"isRegion":true, "tags":?}

我想加入一个字符串数组代替?, 用引号括起来。

我目前的尝试不太奏效:

jsonStr := []byte(fmt.Sprintf(`{"isRegion":true, "tags":[%q]}, strings.Join(tags, `","`)))
Run Code Online (Sandbox Code Playgroud)

以上给出了输出: "tags":["prod\",\"stats"]

相反,我需要引号保持不变而不会转义: "tags":["prod","stats"]

go

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

为什么我不能从const String&方法返回NULL?

我有以下方法声明: const String& MyClass::GetAspect(const String& strKey) const

在这个方法中,我们决定在做一些事情之前做一个空指针检查; 如果这个方法里面的指针是null,我们只想返回null.

但是,我收到以下错误:

myclass.cpp(222) : error C2440: 'return' : cannot convert from 'int' to 'const String &'
        Reason: cannot convert from 'int' to 'const String'
        No constructor could take the source type, or constructor overload resolution was ambiguous
Run Code Online (Sandbox Code Playgroud)

有人能帮我理解吗?是否有一些我不完全理解的const-correctness概念?

c++ const

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

select()不使用为timeval设置的内容

我在下面有一个片段 - 我已经tv_usec用几种方式调整了我,但是select()无论tv_usec设置的是什么,我都会在一个循环中停留几乎整整10秒钟.

    char buffer[512];
    fd_set readfds;
    struct timeval tv;
    tv.tv_usec = 50;    

    int rv = 1;

    // clear the set ahead of time
    FD_ZERO(&readfds);

    // add our descriptors to the set
    FD_SET(mySocket, &readfds);

    // the n param for select()
    int n = mySocket + 1;

    while(rv != 0)
    {
        rv = select(n, &readfds, NULL, NULL, &tv);

        if (rv == -1)
            perror("select"); // error occurred in select()

        bzero(buffer,512);
        int n = recvfrom(mySocket,buffer,512,0,(struct sockaddr *)&server, …
Run Code Online (Sandbox Code Playgroud)

c++ sockets timeval

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

一旦位置接近100KB,就会在memcpy上发生段错误

我试图"打包"一个大的mmap()d文件,如下所示:

//numBytes is based on user input
data = static_cast<char*>(mmap((caddr_t)0, numBytes, PROT_READ, MAP_SHARED, myFile, 0));

int
Sender::Packetize(char* data, int numBytes)
{
    int seqNum = 1;
    int offset = 0;
    size_t totalPacked = 0;
    unsigned int length = sizeof(struct sockaddr_in);

    bool dataRemaining = true;
    while(dataRemaining)
    {
            //MTU = 1460
        size_t payloadSize;
        (numBytes > MTU) ? payloadSize = MTU : payloadSize = numBytes;
        char* payload = (char*)malloc(payloadSize);

        memcpy(payload, data, payloadSize);
        Packet pac = {seqNum, 0, payloadSize, payload}; //Basic struct

        totalPacked …
Run Code Online (Sandbox Code Playgroud)

c++ memcpy

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

如何计算每个条目占总和的百分比?

我有一个表,按标题存储请求。我可以使用以下查询它:

SELECT lower(btrim(environment)) as environment,
       lower(btrim(title)) as title,
       SUM(count) as requests
       FROM api_data_analytics
         WHERE timestamp BETWEEN '2019-10-01 00:00:00.000000' AND '2019-11-01 00:00:00.000000'
           AND environment = 'production'
         GROUP BY 1, 2;
Run Code Online (Sandbox Code Playgroud)

这将产生:

env:        title:     requests:
production    a1       18194440913
production    b1       2425465014
production    c1       265733967
production    d1       92586792
production    e1       57150246
Run Code Online (Sandbox Code Playgroud)

我希望能够执行一个查询,该查询为我提供每个标题的总请求百分比,例如:

env:        title:     pct_total:
production    a1       85.0
production    b1       13.2
production    c1       1.4
production    d1       0.3
production    e1       0.1
Run Code Online (Sandbox Code Playgroud)

获取此数据的最简单方法是什么?

sql amazon-redshift

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

新的perl; 得到一些我不确定的错误

我似乎无法弄清楚为什么我在尝试运行.pl脚本时遇到此错误.

这是脚本:

# mini script for creating diff files in a single directory

# directory of patch files
$patchDir = "c:\oc\Patch Files";

if ($#ARGV != 1 && $#ARGV != 2)
{
    print "Usage: diff <file name> [-s]\n";
    print "Example:  \n";
    print "   |Diff relative to Index (staged)|  :  diff MOM00123456_1.patch \n";
    print "   |Diff Staged|                      :  diff MOM00123456_1.patch -s \n";
    exit;
}

$fileName = $ARGV[0];

if ($#ARGV == 2)
    $stagedArg = $ARGV[1];

if ($stagedArg)
    if ($stagedArg == "-s" || $stagedArg …
Run Code Online (Sandbox Code Playgroud)

perl

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

尝试使用ifdef时出现语法错误

我有:

if($^O eq 'MSWin32'){
  export WINDOWS=1
else{
  export UNIX=1
}

=begin WINDOWS
  use feature qw(switch);
=cut
=begin UNIX
  use Switch;
=cut
Run Code Online (Sandbox Code Playgroud)

我得到:

C:\ build.pl第6行的语法错误,"else"附近BEGIN错误后不安全 - 编译在C:\ build.pl第17行中止.

perl syntax-error

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