小编Tho*_*mas的帖子

如何通过函数设置指针引用

在C中,我试图通过将其发送到函数来设置指针的值,但该值不会在函数外部发生变化.这是我的代码:

#include <stdio.h>
void foo(char* str) {

    char* new_str = malloc(100);
    memset(new_str, 0, 100);
    strcpy(new_str, (char*)"new test");

    str = new_str;
}


int main (int argc, char *argv[]) {

    char* str = malloc(100);
    memset(str, 0, 100);

    strcpy(str, (char*)"test");

    foo(str);

    printf("str = %s\n", str);
}  
Run Code Online (Sandbox Code Playgroud)

我要打印出来:

str = new test 
Run Code Online (Sandbox Code Playgroud)

但是这段代码打印出来:

str = test
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.提前致谢.

c

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

如何在不将字符串分解为字符的情况下将字符串添加到双端队列?

我正在尝试创建一个字符串双端队列,但是当我向双端队列中添加一个字符串时,它总是将字符串分解为单个字符。到目前为止,这是我的代码:

from collections import deque

my_string = "test"
my_queue = deque(my_string)

print my_queue
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

deque(['t', 'e', 's', 't'])
Run Code Online (Sandbox Code Playgroud)

我希望输出是:

deque(['test'])
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

python

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

可以配置IntelliJ以在不使用快捷方式的情况下调用SmartType代码完成?

现在,当我输入时,IntelliJ会立即弹出一个包含代码完成建议的方框.然而,这些建议只是"基本",而不像我使用(Ctrl + Shift + Space)快捷方式调用SmartType完成时那样"智能".有没有办法配置IntelliJ在我输入时自动调用SmartType完成?

java intellij-idea

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

Up Arrow + Enter替代运行上一个命令?

有时我必须连续多次运行命令,例如查看服务是否已启动,将手移离正常输入位置以反复按向上箭头和输入键变得乏味.有没有办法在没有Up Arrow和Enter键的情况下运行上一个命令,可能还有一个精心设计的shell脚本?

我已经尝试了以下内容,但它不能令人满意,因为它无法执行别名,而且速度有点慢.

history | tail -2 | head -1 | cut -d' ' -f4- | cat > prev_command.txt
sleep .01
chmod 777 prev_command.txt
eval prev_command.txt
rm prev_command.txt
Run Code Online (Sandbox Code Playgroud)

理想情况下,我有一个这个脚本的别名,所以我可以在命令行中键入类似"prev"的内容,然后按Enter键再次运行上一个命令.

unix linux shell

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

为什么在尝试将 Enum 用作另一个文件中的字典键时会收到 KeyError 错误?

我有两个文件,enum_test.pyprint_test_file.py. 我在中定义了一个 Enum 类enum_test.py并使用该 Enum 类的成员作为键创建了一个字典。当我尝试在其中使用该词典时,出现print_test_file.py了一个关键错误。

这是代码enum_test.py

from enum import Enum
import print_test_file

class MyEnum(Enum):
    A = 1
    B = 2

def main():
    enumDict = dict()
    enumDict[MyEnum.A] = 'abcd'
    enumDict[MyEnum.B] = 'efgh'

    print(enumDict[MyEnum.A])
    print_test_file.print_test(enumDict)

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

这是来自的代码 print_test_file.py

import enum_test

def print_test(enumDict):
    print(enumDict[enum_test.MyEnum.A])
Run Code Online (Sandbox Code Playgroud)

我期望运行enum_test会产生以下输出:

abcd
abcd
Run Code Online (Sandbox Code Playgroud)

但它只打印第一个abcd然后抛出KeyError: <MyEnum.A: 1>

如何使用我在enum_test.pyfrom 中创建的字典print_test_file.py

python

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

如何使用Notepad ++在选定的文本中执行查找/替换

我有一个我用Notepad ++编辑的C文件,并且有一个大约30个连续行的部分,我想用另一个单词替换一个单词.有没有办法只在那个部分使用Notepad ++进行查找/替换?

notepad++

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

使用PowerMock,Mockito和TestNG模拟公共方法中使用的私有方法

我想为我上课写一个单元测试.这个类有一个公共方法,在public方法中,在同一个类中调用私有方法.我想模拟对这些私有方法的调用.该类与此类似:

public class SomeClass {
    public int somePublicMethod(int num) {
        int num2 = somePrivateMethod1(num);
        int num3 = somePrivateMethod2(num);

        return num2 + num3;
    }

    private int somePrivateMethod1(int num) {
        return 2*num;
    }

    private int somePrivateMethod2(int num) {
        return 3*num;
    }
}
Run Code Online (Sandbox Code Playgroud)

对于我的单元测试,我试图将PowerMock与Mockito和TestNG一起使用.这是我尝试测试somePublicMethod的测试:

import static org.powermock.api.mockito.PowerMockito.doReturn;
import static org.powermock.api.mockito.PowerMockito.spy;

import org.powermock.core.classloader.annotations.PrepareForTest;
import org.testng.Assert;
import org.testng.annotations.Test;

@PrepareForTest(SomeClass.class)
public class SomeClassTest {

    @Test
    public void testSomePublicMethod() throws Exception {
        int num = 4;        

        SomeClass someClassSpy = spy(new SomeClass());

        doReturn(8).when(someClassSpy, "somePrivateMethod1", num);
        doReturn(12).when(someClassSpy, "somePrivateMethod2", num); …
Run Code Online (Sandbox Code Playgroud)

java testng mockito powermock

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

是否可以初始化String []数组并在一行中的方法中传递它?

现在我有以下代码:

String[] values = {str1, str2};
Utils.myMethod(values);
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法在一行中完成所有这些.我试过了:

Utils.myMethod({str1, str2});
Run Code Online (Sandbox Code Playgroud)

但这不起作用.提前致谢.

java

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

如何让IntelliJ在调试器中显示未使用的变量

有时在调试时我在代码中添加了一个额外的变量,这样我就可以在调试器中看到该变量的值.但是,似乎如果在代码中的其他地方没有使用额外变量,则IntelliJ不会在调试器中包含该变量.我已经通过声明一个虚拟变量并设置它等于我想在调试器中看到的变量解决此得到了,因为这样的IntelliJ认为,额外的变量使用.

有没有办法配置IntelliJ以在调试器中显示未使用的变量?

java intellij-idea

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

标签 统计

java ×4

intellij-idea ×2

python ×2

c ×1

linux ×1

mockito ×1

notepad++ ×1

powermock ×1

shell ×1

testng ×1

unix ×1