c - 如何使用 scanf 读取特定字符?
问题描述
我需要从终端阅读特定的章程,我该怎么做?我需要阅读这些字符[
, ]
, {
, }
, (
, )
. 有什么办法可以做到这一点scanf
吗?
我试过scanf("%[(,),[,]]s", string)
了,但它不起作用。
解决方案
如果字符类的转换说明符必须包含此字符并且它没有尾随,则它scanf()
应该以 开头:]
s
#include <stdio.h>
int main() {
char str[2];
while (scanf("%1[][(){}]", str) == 1) {
printf("got %c\n", str[0]);
}
return 0;
}
推荐阅读
- c# - 使用从一个 web api 到另一个 api 的数据列表
- java - 从生成的招摇客户端获取原始响应
- google-cloud-platform - 与 Open VPN 的 Cloud SQL 实例连接
- python - 更改模型后的 Django 管理错误
- sql - 使用 SQL Query 从字符串中搜索多个值
- ajax - 在 JSF 中更新时如何保留 URL 参数?
- android - 恢复 1970 年的 Google Fit 数据
- sql - BQ中基于二级表的SQL更新
- openldap - 不能使用过滤器 ldapsearch 条目(uid=*)
- r - 编织带有错误的 Rmd 文档而不显示它们