小编dus*_*shu的帖子

如何在接收多个字符串时清除缓冲区?

如果我输入的str1长度超过长度10,则其余部分将保留在缓冲区中并进入我的状态str2.如何清除缓冲区之前str2,我可以输入吗?

#include <stdio.h>
int main(void)
{
    char str1[10];
    char str2[10]; 
    fgets(str1,10,stdin);
    fgets(str2,10,stdin);

    puts(str1);
    puts(str2);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

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

使用 Java High Level API 从 DynamoDB 表获取所有表项

我使用 dynamodbmapper 在 dynamodb 表中实现了扫描操作,但我没有得到所有结果。每当我运行程序时,扫描都会返回不同数量的项目。

代码片段:

DyanmoDBScanExpression scanExpression = new DynamoDBScanExpression();
List<Books> scanResult = mapper.scan(Books.class, scanExpression);
Run Code Online (Sandbox Code Playgroud)

我调查了一下,发现扫描返回的物品有限制。但我找不到使用映射器从表中获取所有项目的方法!有没有办法让我可以循环遍历表中的所有项目。我已经在 J​​VM 中设置了足够的堆内存,因此不会出现内存问题。

java amazon-web-services amazon-dynamodb

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

如何使用C中的套接字编程通过互联网连接两台计算机?

这是一个简单的客户端-服务器聊天程序。此代码在连接到网络的计算机上运行良好,如何修改它以便它可以通过 Internet 在计算机之间连接。使用服务器的公共 IPgethostbyname()不起作用。

//Client.c

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netdb.h>  
#include<unistd.h>
#include<string.h>
#include<stdlib.h>

int main(void)
{
    int clientSocket; /* Socket Decriptor for Client */
    struct sockaddr_in server_addr;
    struct hostent *ptrh;

    char message[100];
    char received[100];
    int n = 0;

    clientSocket=socket(AF_INET, SOCK_STREAM, 0);

    memset((char*)&server_addr, 0, sizeof(server_addr));

    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(10000);

    /*  bind(clientSocket, (struct sockaddr*)&server_addr, sizeof(struct sockaddr)); */

    ptrh=gethostbyname("110.172.156.2");
    memcpy(&server_addr.sin_addr,ptrh->h_addr,ptrh->h_length);

    if( -1 == (connect(clientSocket, (struct sockaddr*)&server_addr, sizeof(server_addr)))) 
    { printf("\nServer Not Ready !!\n"); exit(1); }

while(1)
{
    printf("\nUser:-");
   // memset(message, …
Run Code Online (Sandbox Code Playgroud)

c sockets network-programming

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

如何在 Mockito.when().thenReturn() 中使用 ArgumentCaptor

我有一个用例,我想捕获方法中传递的值,并使用此值来定义 Mockito 行为。

像这样 :

@InjectMocks
private ClassUnderTest classUnderTest;

@Mock
private MockedClass mockedClass;

@Captor
private ArgumentCaptor<ArgumentUsedInMockedClass> captor;

@Test
public void testMethod() {
    Result result = new Result();
    result.setResultId(RESULT_ID);

    Mockito.verify(mockedClass).doSomething(captor.capture());

    Mockito.when(mockedClass.doSomething(captor.getValue())).thenReturn(result);

    Assert.assertTrue(classUnderTest
            .doSomething(foo, bar)
            .equals(result));
}
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

[junit] Wanted but not invoked:
[junit] mockedClass.doSomething(
[junit]     <Capturing argument>
[junit] ); 
[junit] Actually, there were zero interactions with this mock.
Run Code Online (Sandbox Code Playgroud)

在我的doSomething()函数中, foo 和 bar 用于生成类型的参数ArgumentUsedInMockedClass。现在,这种ArgumentUsedInMockedClass类型没有equals()正确定义,因此如果我试图直接使用它,它会模糊地失败

Mockito.when(mockedClass.doSomething(argumentUsedInMockedClass)).thenReturn(result);argumentUsedInMockedClass测试方法的产生,即使它的PARAMS相同。我正在尝试捕获在此 ClassUnderTest 中创建的确切对象来定义模拟行为,但在我看来它就像一个循环,首先

Assert.assertTrue(classUnderTest
            .doSomething(foo, bar)
            .equals(result)); …
Run Code Online (Sandbox Code Playgroud)

java junit unit-testing arguments mockito

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

将通用 POJO 写入 CSV 转换器

我的用例是编写一个通用的 CSV 转换器,它应该能够将任何 Java POJO 转换为 CSV 字符串。

我的实现:

public <T> List<String> convertToString(List<T> objectList) {

        List<String> stringList = new ArrayList<>();
        char delimiter = ',';
        char quote = '"';
        String lineSep = "\n";

        CsvMapper mapper = new CsvMapper();
        CsvSchema schema = mapper.schemaFor(!HOW_TO!);

        for (T object : objectList) {

            try {
                String csv = mapper.writer(schema
                        .withColumnSeparator(delimiter)
                        .withQuoteChar(quote)
                        .withLineSeparator(lineSep)).writeValueAsString(object);

            } catch (JsonProcessingException e) {

                System.out.println(e);
            }
        }

        return stringList;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Jackson-dataformat-csv 库,但我坚持使用 !HOW_TO!部分,即如何从objectList中提取对象的.class。我正在学习并遇到了类型擦除,所以我认为除了将 .class 作为我的函数的参数之外,这是不可能的。但我也使用 Java 反射从通用实体中提取此对象列表,因此我无法选择提供 .class 参数。

有解决方法吗?

或者

我可以转换具有 …

java csv generics jackson-dataformat-csv amazon-kinesis-firehose

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

sizeof代码?

我试图编写一个简单的代码,作为sizeof(特别是对于此代码中的int).但为什么它显示1作为输出?它应该是4.

#include<stdio.h>
int SIZEOF(int *);

int main(void)
{
    int a;
    printf("Size is:%d bytes\n",SIZEOF(&a));

    return 0;
}

int SIZEOF(int *p1)
{
    int *p2;
    p2=p1;

    p1++;

    return (p1-p2);
}
Run Code Online (Sandbox Code Playgroud)

c sizeof

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