如何使用scanf获得以空格分隔的字符

问题描述 投票:0回答:2

这里是input.txt

5A B C D E

我想获取这些字符,所以我使用了此代码:

    int n;
    fscanf(fp_i, "%d", &n);

    char data;
    for (int i = 0; i < n; i++) {
        fscanf(fp_i, "%c", &data);
        array_c[i] = data;
    }

array_c中有空格,所以我尝试了“%c”,它成功了!我想学习获取空格字符的另一种方法。有没有更复杂的方法?

c input scanf
2个回答
0
投票

您可以使用fgets

fgets

替换整个fgets(array_c, n, fp_i); 周期。

这会将整行读入数组,并带有空格,只需确保大小(for)不大于容器,我认为您已经这样做了。


0
投票

只需在n前面有一个额外的空间。

%c
© www.soinside.com 2019 - 2024. All rights reserved.