小编fre*_*oma的帖子

无法修改C字符串

请考虑以下代码.

int main(void) {
    char * test = "abcdefghijklmnopqrstuvwxyz";
    test[5] = 'x';
    printf("%s\n", test);
    return EXIT_SUCCESS;
}

在我看来,这应该打印abcdexghij.但是,它只是终止而不打印任何东西.

int main(void) {
    char * test = "abcdefghijklmnopqrstuvwxyz";
    printf("%s\n", test);
    return EXIT_SUCCESS;
}

然而,这工作得很好,所以我误解了操纵C字符串或其他东西的概念吗?如果它很重要,我正在运行Mac OS X 10.6,它是我正在编译的32位二进制文​​件.

c cstring

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

是否必须安装Ant才能运行Maven的maven-antrun-plugin?

来自文档:"这个插件提供了从Maven 2中运行Ant任务的能力."

我是否需要安装Ant才能运行ant任务,或者maven插件是否已包含Ant?谢谢.

java ant maven

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

记录发送到Akka TestKit TestProbe的所有消息

我正在尝试记录TestKit TestProbe 收到的所有消息,这被证明有点困难.我知道文档中的Actor Logging部分,它说应该将该debug.receive选项与LogginReceive块结合使用.然而,当我无法控制演员的实现时,这不起作用.

我唯一的想法是继承akka.testkit.TestActor使用a LoggingReceive和子类TestKit来使它创建我的TestActor子类的实例,但是这不起作用,因为大多数功能都是akka命名空间的私有(并且有充分的理由,我想).

scala akka testkit

8
推荐指数
3
解决办法
2762
查看次数

使用clpfd Prolog库解决斑马拼图(又名爱因斯坦拼图)

我已经使用我选择的约束求解器进行了练习来解决斑马拼图,我尝试使用Prolog clpfd库.

我知道在Prolog中还有其他更惯用的方法可以解决这个问题,但这个问题是关于clpfd包的!

所以我想解决的难题的具体变化(假设有很多)是这个:

有五个房子

  1. 英国人住在红房子里
  2. 瑞典人拥有一条狗
  3. 丹麦人喜欢喝茶
  4. 温室被留给白宫
  5. 温室的主人喝咖啡
  6. 抽烟Pall Mall的人拥有一只鸟
  7. 牛奶在中间的房子里喝醉了
  8. 黄屋的主人吸烟了登喜路
  9. 挪威人住在第一宫
  10. 万宝路吸烟者住在猫主人旁边
  11. 马主人住在吸烟的人旁边
  12. winfield吸烟者喜欢喝啤酒
  13. 挪威人住在蓝屋旁边
  14. 德国人吸食罗斯曼
  15. 万宝路吸烟者有一个喝水的邻居

我尝试用以下方法解决它:

房屋可以具有的每个属性被建模为变量,例如"英国","狗","绿色"等.属性可以取1至5的值,具体取决于它们出现的房屋,例如,如果变量"狗"取值3,狗住在第三宫.

这种方法可以很容易地模拟邻居约束,如下所示:

def neighbor(X, Y) :-
    (X #= Y-1) #\/ (X #= Y+1).
Run Code Online (Sandbox Code Playgroud)

但不知何故,该clpfd软件包不会产生解决方案,即使(IMO)问题已正确建模(我使用与Choco约束求解器完全相同的模型,结果是正确的).

这是完整的代码:

:- use_module(library(clpfd)).

neighbor(X, Y) :-
    (X #= (Y - 1)) #\/ (X #= (Y + 1)).

solve([British, Swedish, Danish, Norwegian, German], Fish) :-

    Nationalities = [British, Swedish, Danish, Norwegian, German],
    Colors = [Red, Green, Blue, …
Run Code Online (Sandbox Code Playgroud)

constraints prolog constraint-programming clpfd zebra-puzzle

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

Fletcher32校验和算法的正确性

我很难搞清楚Fletcher校验和算法的32位变体的哪个实现是正确的.Wikipedia提供以下优化实现:

uint32_t fletcher32( uint16_t const *data, size_t words ) {
        uint32_t sum1 = 0xffff, sum2 = 0xffff;
        size_t tlen;

        while (words) {
                tlen = words >= 359 ? 359 : words;
                words -= tlen;
                do {
                        sum2 += sum1 += *data++;
                } while (--tlen);
                sum1 = (sum1 & 0xffff) + (sum1 >> 16);
                sum2 = (sum2 & 0xffff) + (sum2 >> 16);
        }
        /* Second reduction step to reduce sums to 16 bits */
        sum1 = (sum1 & …
Run Code Online (Sandbox Code Playgroud)

c algorithm checksum correctness

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

char数组与char指针

当使用recv通过套接字接收数据时,我注意到了:

char buffer[4];
memset(buffer, 0, 4);
recv(socket, buffer, 4, 0);

我收到

mesgx

"mesg"是我发送的内容,附加了一些随机字符.

如果我使用

char * method = (char *) malloc(4);
memset(buffer, 0, 4);
recv(socket, buffer, 4, 0);

相反,我收到了

MESG

所以我的字符串中没有附加的随机内容.我想出如果我使用char [5]而不是它也可以,但我真的不明白为什么.malloc(4)真的分配了5个字节,第五个是NUL吗?

c malloc c-strings memset

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

在PHP中检测IPv6?

我目前正在检测用户的IPv4地址并在v4中使用IP块.但是我想捕获IPv6并且也有这样的阻止列表,所以问题是:将IPv6作为IPv4或PHP中的不同之处是否相同?我只是不确定每个设备是否都有IPv4和IPv6,或者它是否是其中之一,系统会自动检测它是什么格式并存储它?

php ip-address ipv6

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

Xcode 4和错误的"语义问题" - 如何处理它们?

我已经开始使用Xcode 4了,我对一些"功能"特别恼火,特别是那些似乎没有多大意义的语义警告,例如:

http://coding-journal.com/wp-content/uploads/2011/08/Screen-Shot-2011-08-07-at-8.50.46-P​​M.png

在第640行,您可以看到一个语义问题,说我将不兼容的指针类型传递给参数NSString *,这是完全错误的,因为NSTabViewItems的签名initWithIdentifier:是:

- (id)initWithIdentifier:(id)identifier
Run Code Online (Sandbox Code Playgroud)

我的猜测是Xcode认为我正在调用initWithIdentifer:其他一些对象,因为当我使用Cmd+Click该方法时,它给了我三个选项:

http://coding-journal.com/wp-content/uploads/2011/08/Screen-Shot-2011-08-07-at-8.50.24-PM.png

第一个来自NSTableColumn,有签名

- (id)initWithIdentifier:(NSString *)identifier;
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,在这种情况下我该怎么做?我喜欢我的代码没有警告,但是当使用Xcode 4时似乎不可能:(

compiler-warnings suppress-warnings xcode4

6
推荐指数
0
解决办法
2359
查看次数

对于Chai中的数组,相当于rspec =〜

Chai,matchers是否与rspecs平等=~(这意味着所有元素,但顺序无关紧要).

传递榜样

[1, 2, 3].should =~ [2, 1, 3]
Run Code Online (Sandbox Code Playgroud)

失败

[1, 2, 3].should =~ [1, 2]
Run Code Online (Sandbox Code Playgroud)

javascript testing mocha.js chai

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

Twitter Bootstrap - 表单字段顶部的标签未对齐

我正在尝试创建一个表单元素并排创建的表单,以及它们的标签(与相应输入元素的开头对齐),如下所示:

Label                 Label2
+----------------+    +-------+
+----------------+    +-------+
Run Code Online (Sandbox Code Playgroud)

以下内容无法正常工作,因为"Label2"与输入元素略有不对齐:

<div class="controls controls-row">
    <label class="span9"><span>Label</span></label>
    <label class="span2"><span>Label2</span></label>
</div>
<div class="controls controls-row">
    <input type="text" class="span9" />
    <input type="text" class="span2" />
</div>
Run Code Online (Sandbox Code Playgroud)

我使用这个workaround-ish结构让它工作:

<div class="controls controls-row">
    <div class="span9">
        <label><span>Label</span></label>
    </div>
    <div class="span2">
        <label><span>Label2</span></label>
    </div>
</div>
<div class="controls controls-row">
    <div class="span9">
        <input type="text" class="span12" />
    </div>
    <div class="span2">
        <input type="text" class="span12" />
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这可能是一个错误吗?因为在Twitter Bootstrap页面上它说:

对于匹配相同大小的网格列的输入,请使用.span1到.span12.

这是一个重现我的问题的JSFiddle.

html css forms twitter-bootstrap

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