知道好多人初学者会像我一样看不懂那些长篇的输入介绍(也不想看),这里有直接的代码写法!!!!!!

以前只会用gets(),结果它被c++11标准给删了,洛谷里用不了。因为用得少记不住,每次都得去查一遍,这里就直接列几个我已知的字符串的输入方法,注意事项写在注释,初学应该是足够用了,后续会不断补充。当然cin也可以(读到空格等结束)

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
char input[7][100];
string Input;
int main()
{
    int len=0;
    
    scanf("%s",input[1]);//读到空格等结束。'\n'留存缓冲区
    
    getchar();//取出留在缓冲区内的'\n',也可以用fflush(stdin);清空,在第一行就不要了
    scanf("%[^\n]s",input[2]);//读到回车结束。'\n'留存缓冲区。在第一行就不要getchar()了
 
    getchar();//取留在缓冲区内的'\n' ,也可以用fflush(stdin);清空
    gets(input[3]);//gets读入'\n'且将其自动换为'\0' (已在c++11标准中删除) 。在第一行就不要getchar()了
 
    fgets(input[4],100,stdin);//fgets读入'\n'并自动在最后加上'\0' 。括号内为(地址,长度,stdio指键盘输入) 
 
    cin.getline(input[5],100,'\n');//<iostream>头文件内,括号内为(地址,长度,分隔符(默认回车,可不写)) 
 
    while((input[6][len++]=getchar())!='\n');//一个一个读 
    input[6][len-1]='\0';//补'\0' 
 
    getline(cin,Input,'\n');//<string>头文件内,括号内所填为(输入流,地址,分隔符(默认回车,可不写)) ,此应用于string类型的输入
 
    for(int i=1;i<=6;i++)
        cout<<i<<" "<<input[i]<<"长度为:"<<strlen(input[i])<<endl;
    cout<<7<<" "<<Input<<"长度为:"<<Input.length()<<endl;
 return 0;
}

实现结果:(注意fgets的换行与长度的不同)
c++字符串输入(纯代码)
使用掌握还应靠多打多练习,此处仅供查找。

相关文章:

  • 2022-12-23
  • 2022-01-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-04
  • 2021-08-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案