字符串分割

typedef struct {
    char algo[4];
    char salt[65];
    char hash_pwd[192];
} pwd_info;
void split_string(char *input, char delimiter, pwd_info* res) 
{
    char *start = input;
    char *end;
    char array_res[3][192];
    memset(&array_res, 0, sizeof(array_res));
    int i = 0;
    if (*start != '\0') { // ignore first $
        start = start + 1;
    }
    while (*start != '\0') {
        // 找到分隔符的位置
        end = start;
        while (*end != delimiter && *end != '\0') {
            end++;
        }

        // 计算子字符串的长度
        size_t length = end - start;

        // 复制子字符串
        strncpy(array_res[i], start, length);
        printf("%s\n", array_res[i]);
        array_res[i++][length] = '\0';
        if (i >2) {
            printf("to many $\n");
            break;
        }

        // 如果遇到分隔符,移动到分隔符之后的位置
        if (*end == delimiter) {
            start = end + 1;
        } else {
            // 到达字符串末尾,退出循环
            break;
        }
    }

    strncpy(res->algo, array_res[0], sizeof(res->algo) - 1);
    strncpy(res->salt, array_res[1], sizeof(res->salt) - 1);
    strncpy(res->hash_pwd, array_res[2], sizeof(res->hash_pwd) - 1);
}
posted @   菠萝超级酸  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示