字符串/字符数组读入(char/string)

前言

  • 网上有很多相关博客,或总或全,在做了这道题后,决定总结一下常用字符串读入
  • 只有常用,请不要吹毛求疵

字符串string

1.scanf printf:(不含空格)

string a;
a.resize(10); //需要预先分配空间
scanf("%s",&a[0]);
printf("%s
",a.c_str());
  • 输入:dddd;输出:dddd
  • 输入:ddfded;输出:ddfded//看上去空间没开够没有问题,但还是不要这样

推荐用char数组读入再赋值给string

2.getline读入空格

string a; 
getline(cin,a);
cout<<a<<endl;
  • 输入:d ddd;输出:d ddd

3.getchar读入单个字符

  • 我们一般选择用char读入再赋值

字符数组char

1.scanf/printf:(不含空格)

char a[10];
scanf("%s",&a);//&可加可不加
printf("%s",a);
  • 输入:dfdfdf;输出:dfdfdf
char b;
scanf("%c",&b);
printf("%c",b);
  • 输入:d;输出:d
  • 输入:dfdfdf;输出:d

2.getline读入空格

char a[10];
cin.getline(a,5);//读入字符长度<1000
cout<<a<<endl;
  • 输入:d ddd;输出:d dd
  • 输入:d fdd;输出:d fd//超过部分省略

3.getchar读入单个字符

char a;
a=getchar();
cout<<a<<endl;
  • 输入:dfd;输出:d
原文地址:https://www.cnblogs.com/wuwendongxi/p/13339796.html