常用的字符&字符串的读取方法(C / C++)

一、字符

1、读取单个字符:直接读取

//输入a
//读取
char x;
scanf("%c",&x);

2、读取带空格的字符

h h h

按格式书写格式化字符串即可

char a,b,c;
scanf("%c %c %c",&a,&b,&c);

3、 处理字符间的换行符

假设要读取以下内容

a b c
d e f

第一种方式getchar();

char a,b,c,d,e,f;
scanf("%c %c %c",&a,&b,&c);
getchar();//读取换行符
scanf("%c %c %c",&d,&e,&f);

第二种方式scanf自行处理

char a,b,c,d,e,f;
scanf("%c %c %c\n",&a,&b,&c);
scanf("%c %c %c\n",&d,&e,&f);

二、读取字符串

1、利用字符数组(C语言方法)

char s[(对应字符数组长度)];
scanf("%s",  s);

特点:遇到 ‘\0’(即,空格)读取终止。

因此,这种方法只适用于读取中间不含空格的字符串。

注意:用scanf读入字符串出现换行时,无需getchar();

具体解释

// 题目数据
1  // 要求作为数字读入
12345  //要求作为字符串读入
int n;
char s[6];

scanf("%d", &n);
scanf("%s", s);
// 题目数据
1  // 要求作为数字读入
12345  //要求按单个字符读入
int n;
char a, b, c, d, e;
scanf("%d", &n);
getchar();
scanf("%c%c%c%c%c", &a, &b, &c, &d, &e);

 常见用法

char s[10];
scanf("%s", s+1);  // 若不加1,则字符数组的下标则从0开始。 
for(int i = 1; i <= n; ++ i){
  s[i] ......
}

2、利用string(C++方法)

string s;
(1) cin >> s;

特点:遇到 ‘\0’(即,空格)读取终止。

因此,这种方法只适用于读取中间不含空格的字符串。

(2) getline(cin, s);

特点:遇到 ‘\n’(即,空格)读取终止。

因此,用这种方法可以读取中间含空格的字符串。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值