c - 当您不知道字符串有多长时,从 C 中的用户输入中拆分字符串

标签 c

需要读取用户输入的字符串。如果字符串的长度是偶数,我需要将字符串分成两半。如果字符串的长度是奇数,则将字符串拆分为两个字符串,其中第一部分比第二部分多一个字符。输出它创建的两个字符串。例如:

输入:OddAndEven 输出:

奇数

dEven

输入:奇数或偶数输出:

奇数或

偶数

最佳答案

这是一些示例代码。它严重依赖fwrite 。除此之外,它应该是不言自明的。 fwrite 定义为 size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream);。我主要用它来控制打印字符串的大小。

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]) {
    if (strlen(argv[1]) % 2 == 0) {
        fwrite(argv[1], sizeof(char), strlen(argv[1]) / 2, stdout);
        printf("\n");
        fwrite((argv[1] + strlen(argv[1]) / 2), sizeof(char), strlen(argv[1]) / 2, stdout);
        printf("\n");
    } else {
        fwrite(argv[1], sizeof(char), (strlen(argv[1]) / 2) + 1, stdout);
        printf("\n");
        fwrite((argv[1] + (strlen(argv[1]) / 2) + 1), sizeof(char), (strlen(argv[1]) / 2) + 1, stdout);
        printf("\n");
    }
}

关于c - 当您不知道字符串有多长时,从 C 中的用户输入中拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50402382/

相关文章:

c - "&"和 "-"的组合是什么意思?

c - 如何创建给定大小的数据类型

Android NDK C 预处理器为 TARGET_PLATFORM 定义

c - 使用指针在二叉树中进行深度优先搜索

c - "CONST func(arg);"在C语言中是什么意思?

c++ - 在编译器上使用 C 和 C++

c - 链表段错误

c++ - 在两个不同的输入数据集上运行同一个 C/C++ 程序的两个实例

c - Windows 驱动程序开发的良好资源

使用结构时出现编译器错误