小编use*_*707的帖子

FindFirstFile LPCSTR

你好,我的代码问题在这里.

LPCSTR mergeString(LPCSTR firstString, std::string secondString)
{
    string convertedString = ConvertString(firstString);
    LPCSTR mergedString;
    int i = convertedString.size();

    convertedString.insert(i, secondString);
    mergedString = (convertedString.c_str());

    return mergedString;
}

void GetFiles(LPCSTR path)
{
    WIN32_FIND_DATA File_Data; 
    LPCSTR lPath = mergeString(path,"\\*.txt");
    FindFirstFile(lPath, &File_Data);
    wcout << File_Data.cFileName;
}
Run Code Online (Sandbox Code Playgroud)

你传入你想要在GetFiles(LPCSTR路径)中使用的路径然后我使用mergestring函数将路径与扩展(\*.txt)合并在一起所有工作,除非它返回LPCSTR然后它只是很多奇怪的人物,我不知道为什么或这是一个更好的方法来做到这一点?

c++ windows string winapi lpcstr

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

Xor加密失败

回答:

我必须为解密创建一个单独的函数,使用"rb"打开加密文件,然后在加密函数中使用"wb"将加密数据写入文件.


我的Xor加密出了问题.加密文件中的数据时,加密工作正常,但当我尝试解密时,加密失败.问题是该fgetc函数只读取第一行和第二行,并且无法解密第二行的50%.

例:

正常:

This is a text, This is a text

This is a text, This is a text
Run Code Online (Sandbox Code Playgroud)

加密:

a¦_ÖÞ`×ûù‡ûÛ(‹Pñ»FŒ§U®7!¼ªãŸ<çϱ\Î8ðs6Öã`GÒFAªÓV/Ç1t
Run Code Online (Sandbox Code Playgroud)

解密:

This is a text, This is a text

This is a text, ±Åãl«åé»–o„ F
Run Code Online (Sandbox Code Playgroud)

我用断点检查了代码,发现问题是fgetc在第二行之后停止读取文件,但我不知道为什么.也许我的算法有问题.

码:

int encrypt_file(const char *filename, const char *key)
{
    int i               = 0;
    size_t key_len      = strlen(key);
    size_t key_count    = 0;
    size_t num_bytes    = 0;

    int *data = NULL;
    int byte …
Run Code Online (Sandbox Code Playgroud)

c encryption xor

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

标签 统计

c ×1

c++ ×1

encryption ×1

lpcstr ×1

string ×1

winapi ×1

windows ×1

xor ×1