小编Raj*_*jiv的帖子

将char*转换为unsigned char*

如何在C中正确地将char*复制到unsigned char*.以下是我的代码

int main(int argc, char **argv)
{
    unsigned char *digest;

    digest = malloc(20 * sizeof(unsigned char));
    strncpy(digest, argv[2], 20);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想正确地将char*数组复制到unsigned char*数组.我使用上面的代码得到以下警告

warning: pointer targets in passing argument 1 of âstrncpyâ differ in signedness 
Run Code Online (Sandbox Code Playgroud)

编辑:添加更多信息,我的要求是调用者在主函数中提供SHA摘要作为命令行上的字符串,主函数在内部将其保存在摘要中.SHA摘要可以使用unsigned char最好地表示.

现在的问题是我无法更改main函数(**char)的签名,因为main函数解析了它需要的其他参数作为char*而不是unsigned char*.

c unsigned sha1 char strcpy

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

CRC32 +大小与MD5/SHA1

我们有一个文件存储空间,存储空间根据附加到crc32的大小唯一标识文件.

我想知道这个校验和(crc32 + size)是否足以识别文件,还是应该考虑其他一些散列技术,如MD5/SHA1?

hash crc32 storage md5

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

C++编译时间宏来检测windows os

是否存在任何C++编译时宏来检测正在编译代码的Windows操作系统.我基本上只想在Win7上支持某些功能.所以我有兴趣做这样的事情

#if <os_macro> = WIN7
  // This function would do something valid only on Win7 builds.
  bool myfunction {
        // do something here
  }
#else
  // This function would typically return false, since its not supported on OS below win7
  bool myfunction {
       return false;
  }
#endif 
Run Code Online (Sandbox Code Playgroud)

还有其他更好的方法吗?

c++ windows header windows-7 preprocessor-directive

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

Java如何规避Windows MAX_PATH WinAPI限制

有谁知道Java如何能够规避Windows MAX_PATH限制.使用下面的代码,我能够在Java中创建一个非常长的路径,并且能够执行I/O,这在使用没有前缀\\?\的Windows时是不可能的.

public static void main(String[] args) throws IOException {
    BufferedWriter bufWriter = null;
    try {
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < 130; i++) {
            s.append("asdf\\");
        }
        String filePath = "C:\\" + s.toString();;
        System.out.println("File Path = " + filePath);
        File f = new File(filePath);
        f.mkdirs();
        f = new File(f, "dummy.txt");
        System.out.println("Full path = " + f);
        bufWriter = new BufferedWriter(new FileWriter(f));
        bufWriter.write("Hello"); 

    } 
    catch (Exception e) {
        e.printStackTrace();
    }
    finally {
        if (bufWriter != …
Run Code Online (Sandbox Code Playgroud)

java windows file max-path

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

C中的CLI参数

我们正在开发一个程序,它应该接受同一个参数的多个输入.例如.

program1 -A arg1 -A arg2 -A arg3 -B arg4 -B arg5 -B arg6

更复杂的是,-A和-B参数具有1:1的关系.所以arg1映射到arg4,所以一个.

那么上面的例子是最好的方法可以提供多个相同的参数列表吗?或者这是可接受的方式?

c command-line-interface command-line-arguments

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