如何将argv[]输入分离为C上的两个不同字符串



我是编程新手,目前正在学习C。你能帮我解决下面的问题吗?

一个例子是,如果用户输入"cbamike",我想把它分成两个字符串:cba和mike。

我尝试了下面的代码,但它不起作用:

#include <stdio.h>;
int main (int argc, string argv[])
{
    char* input[50] = argv[1];
    char* first[10];
    char* second[10];
    sprintf(first, "%c %c %c", input[0], input[1], input[2]);
    sprintf(second, "%c %c %c %c", input[3], input[4], input[5], inpput[6]);
    printf("%sn", input);
    printf("%sn", first);
    printf("%sn", second);
}

c中没有CCD_ 1,您可以使用strncpy来获取前面提到的几个字符:c中的字符串,如何获取子字符串

int main (int argc, string argv[])
{
    char* input = argv[1];
    char first[4];
    char second[5];
    strncpy(first, input, 3);
    strncpy(second, input + 3, 4);
    first[3] = second[4] = '';
}
#include <stdio.h>
#include <string.h>
int main (int argc, char* argv[])
{
    if(argc >= 2)
    {
        const int len = strlen(argv[1]) / 2;
        char str1[len + 2], str2[len + 2];
        snprintf(str1, len + 1, "%s", argv[1]);
        snprintf(str2, len + 2, "%s", argv[1] + len);
        printf("1: %sn2: %sn", str1, str2);
    }
    return 0; 
}

最新更新