首页 > 解决方案 > 如何使用 scanf 读取特定字符?

问题描述

我需要从终端阅读特定的章程,我该怎么做?我需要阅读这些字符[, ], {, }, (, ). 有什么办法可以做到这一点scanf吗?

我试过scanf("%[(,),[,]]s", string)了,但它不起作用。

标签: c

解决方案


如果字符类的转换说明符必须包含此字符并且它没有尾随,则它scanf()应该以 开头:]s

#include <stdio.h>

int main() {
    char str[2];        

    while (scanf("%1[][(){}]", str) == 1) {
        printf("got %c\n", str[0]);
    }
    return 0;
}

推荐阅读