小编con*_*gus的帖子

如何找到两条绝对路径的相对路径?

给出两条绝对路径,例如

  • /a/path/to/a
  • /a/path/to/somewhere/else

我怎样才能获得从一个到另一个的相对路径../a

从某种意义上说,与之相反realpath.

c path relative-path absolute-path

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

如何包装返回boost :: optional <T>的C++函数?

我想包装一个返回一个的函数boost::optional<T>.那是,给定:

class Foo {
    boost::optional<T> func();
};
Run Code Online (Sandbox Code Playgroud)

我想以某种方式包装它以便Python获得一个Tby值,或者None:

class_<Foo>("Foo")
    .def("func", func, return_value_policy<return_boost_optional???>);
Run Code Online (Sandbox Code Playgroud)

通常,如果它刚刚返回T,我可以使用:

class_<Foo>("Foo")
    .def("func", func, return_value_policy<return_by_value>());
Run Code Online (Sandbox Code Playgroud)

但是既然它返回了一个boost::optional<T>,它也可以返回boost::none,我想最终成为Python的None.

有没有办法用现有的转换器做到这一点?如果没有,是否有一些解决方法可以达到同样的效果?

c++ boost-python

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

如何使用 unittest.mock.MagicMock 或 Mock 类模拟 `name` 属性?

我正在尝试使用模拟名称创建 MagicMock,它似乎不起作用,但适用于其他属性:

from unittest.mock import MagicMock

# Works
assert MagicMock(foo='bar').foo == 'bar'

# Don't work
assert MagicMock(name='bar').name == 'bar'

print(MagicMock(name='bar').name)
<MagicMock name=\'bar.name\' id=\'140031146167376\'>

Run Code Online (Sandbox Code Playgroud)

如何使用 MagicMock 模拟名称属性?

python unit-testing mocking

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

如何将命令行参数传递给任务?

如何将命令行参数传递给灵活任务?例如,假设我有任务

task mytask, "my task":
    echo &"my task {args}"
Run Code Online (Sandbox Code Playgroud)

当我跑步时

nimble mytask --foo --bar
Run Code Online (Sandbox Code Playgroud)

我想灵活输出

mytask --foo --bar
Run Code Online (Sandbox Code Playgroud)

或类似的东西。

command-line-arguments nim-lang nimble-nim

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

解决这样的数据库连接错误:[ISQL]错误:无法SQLConnect

这个错误通常意味着什么?我在Google上搜索过它,但得到了一堆没有解决方案或答案的垃圾页面.

如何解决此特定错误消息?

database ubuntu odbc isql

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

memcpy 能否正确复制字符串?

我正在努力实现一些低级文件写入,其中文件格式具体到每一位。我需要将一个字符串从一个NSString长度为 16 的空终止字符串复制(根据 Xcode,这是不可分配的)。说到 ,我完全是个菜鸟c,并且想确保我正确理解这一点。这就是我目前正在做的事情:

//I have a non-null NSString called _friendly_name.
const char *string = [_friendly_name UTF8String];
//profile.friendly is a utf-8 null-terminated string
memcpy(&profile.friendly_name, &string, 16);
Run Code Online (Sandbox Code Playgroud)

这尚未经过测试,但我想确保这会起作用。这会提供我期望的行为吗?或者我应该以不同的方式复制字符串(例如strcpy)?

c objective-c memcpy nsstring strcpy

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

为什么我在for循环中得到'Else without previous if'错误?

我是C++的新手,并且已经盯着我的(可能非常糟糕的)代码了一段时间,并且无法弄清楚它是什么.

我正在尝试循环遍历if和else语句的几次迭代,并且必须在语法上做错误的事情 - 因为它显示'else without a previous if'的编译器错误

这是为了一个班级,我正在尝试解决它,但如果你看到一些明显我忽略的东西,我很想知道.

谢谢!

for (i = 0; i < iterationsNum; i++){
if (charlieAlive == 0) // Aarron's shot
        {
        if (aaronShot() == 1)
        charlieAlive = 1;
        }       
else (charlieAlive == 1 && bobAlive == 0);{         
        if (aaronShot() == 1)
        bobAlive = 1;
        }
else (charlieAlive == 1 && bobAlive == 1 && aaronAlive == 0);{
        cout << "Aaron is the Winner!\n";
        totalShot++;
        aaronCounter++;
        }
continue;



if (charlieAlive == 0 && aaronAlive ==0) // …
Run Code Online (Sandbox Code Playgroud)

c++ syntax if-statement

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

使用VC++ Express在C中创建文本文件

好吧这是一个奇怪的问题,但我不知道为什么这不起作用......

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_NAME 15
#define MAX_SUBSEC 3
#define N 128

struct student{

int term;
int id;
char lastname[MAX_NAME];
char firstname[MAX_NAME];
char subjectnam[MAX_SUBSEC];
int subject;
int catalog;
char section[MAX_SUBSEC];

}students[10];

int main(){

int i;
char poop[10];
char fname[128];

printf("Enter the name of the text file: ");
scanf("%123s",fname);

strcat(fname,".txt");

FILE *inputf;
inputf = fopen(fname,"w");

if (inputf == NULL){

     printf("I couldn't open results.dat for writing.\n");
     exit(0);

  }

printf("Enter first name: "); scanf("%s", poop);

fprintf(inputf, "%s\n", poop);

for …
Run Code Online (Sandbox Code Playgroud)

c file-io visual-studio

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

static_assert中的std :: pow会触发错误C2057吗?

Visual Studio 2013中的以下代码导致错误C2057:

#include <cmath>

int main() {
    static_assert(std::pow(2, 2) < 5, "foobar");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误C2057:预期的常量表达式

如果我在GCC下编译-std=c++0x它可以正常工作.http://ideone.com/2c4dj5

如果我更换std::pow(2, 2)4,也编译的Visual Studio 2013下.

  • 这是VS2013的错误吗?
  • 我该如何解决这个问题?

c++ static-assert c++11 visual-studio-2013

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

循环增量中无法访问的代码?

我在for循环中收到C4702:无法访问的代码警告; 奇怪的是 - 通过分解parens内部的组件 - 警告指向增量部分.这是一个演示此错误的示例程序:

int main()
{
    int foo = 3;
    for (int i = 0;
        i < 999;
        i++)    // warning on this line
    {
        if (foo == 4);
        {
            break;
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚这一行有什么问题,因为for循环看起来非常简单.

c c++ visual-studio unreachable-code

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

python列表中第一次出现的数字

我有一个很长的列表,其中包含两个固定的可能数字(0 和 1)。例如:

 l = [0,0,0,0,0,1,1,1,1,1,1,1]
Run Code Online (Sandbox Code Playgroud)

我不知道哪个数字在列表中第一个出现,但我确信如果 0 在列表中第一个出现,那么它会连续出现,然后是 1,1 的情况相同。

我正在根据这些数字条件 (0,1) 执行某种操作,但我还需要在第一次出现 0 和 1 之前显示一条消息。

第一个数字第一次出现(在本例中为 0),我已经这样处理了。

if l[0] == 0:
   print ('first occurrence of 0')
elif l[0] == 1:
   print ('first occurrence of 1')
Run Code Online (Sandbox Code Playgroud)

我不确定如何在执行此列表期间指出 1 的第一次出现。

对于这个示例列表,我需要这样的结果。

 msg before first occurrence of 0
 0
 0
 0
 0
 0
 msg before first occurrence of 1
 1
 1
 1
 1
 1
 1
 1 
Run Code Online (Sandbox Code Playgroud)

python

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

检查字符串是否以某些内容结尾,不区分大小写?

我想检查一个文件是否具有特定的扩展名,我可以使用filename.endsWith(".ext"). 但我也想对阵.EXT。我怎样才能做到这一点?

string case-insensitive nim-lang

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

创建指向"this"对象的指针

我似乎在一个项目中遇到问题,试图创建一个指向"this"的指针,其中"this"是C++列表中的第一个LinkedList.第一个对象中有数据,第二呢...等,直到this->m_nextISNULL

编译器正在向我吐口水:

linkedlist.hpp:55:22: error: invalid conversion from âconst LinkedList<int>* constâ to âLinkedList<int>*â [-fpermissive]

我究竟做错了什么?

template <typename T>  
int LinkedList<T>::size() const
{
  int count = 0;
  LinkedList* list = this; // this line is what the compiler is complaining about

  //adds to the counter if there is another object in list
  while(list->m_next != NULL)
  {
    count++;
    list = list->m_next;
  }
  return count;
}
Run Code Online (Sandbox Code Playgroud)

c++ const

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