字符串的读入(char与string)

博客介绍了C和C++中字符串的输入输出方法。在C中,使用`scanf`和`cin`读入字符串时,默认不能读入空格、制表符和换行符,读入含空格字符串可用`scanf(\%[^\n]\ s)`;在C++中,`string`类型用`cin`读入也有同样问题,可用`getline(cin, s)`。还提及了字符串长度计算和输出的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

char s[100]; 

                     cin>>s;   scanf("%s",s);(下标从0开始)

                     cin>>s+1;scanf("%s",s+1);(下标从1开始)

                     注:上面两种不能读入空格 制表符 换行符

                   

                     读入包括空格时用scanf("%[^\n]", s); 

string s;     cin>>s;  cout<<s;   不能读入空格 制表符 换行符  并且必须这两个搭配使用   

                  输出还可使用 printf("%s",s.c_str());

                  求string类型的长度用s.size() 与strlen() 这时可用for循环输出(即s[i]样式输出) 

                 

                  scanf("%s",s); printf("%s",s);  这两种为错误使用方法 

               

                  读入包括空格时用getline(cin,s);   

       注:getline(cin,s)会获取前一个输入的换行符,需要在前面添加读取换行符的语句getchar()

       例如:cin>>n;  getline(cin,s);  需在前面加一个getchar();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值