簡體   English   中英

C如何讀取逗號分隔的輸入

[英]C how to read input separated by commas

我想在scanf中讀取以下輸入:

10 0 y
2
2, 80, 40, 0

這應該由scanf從單獨的文件准備好。

我只需執行以下操作即可獲得沒有逗號的前兩行:

scanf("%d %d %c %d", a1, a2, a3, c1, a4);

我怎么能讀取用逗號分隔的第三行並將它們存儲在我的變量中?

您可以在scanf格式字符串中包含逗號:

int blinky, pinky, inky, clyde;
scanf("%d, %d, %d, %d", &blinky, &pinky, &inky, &clyde);

以下是基於您的問題的完整示例:

#include <stdio.h>

int main(void)
{
    int a1, a2, a4;
    int blinky, pinky, inky, clyde;
    char c3;

    scanf("%d %d %c %d %d, %d, %d, %d", &a1, &a2, &c3, &a4, &blinky, &pinky, &inky, &clyde);
    printf("%d %d %c\n%d\n%d, %d, %d, %d\n", a1, a2, c3, a4, blinky, pinky, inky, clyde);

    return 0;
}

並建立和測試:

$ cat input 
10 0 y
2
2, 80, 40, 0
$ make example
cc     example.c   -o example
$ ./example < input
10 0 y
2
2, 80, 40, 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM