C++中带空格字符串的输入问题解决
前言
字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格的字符串更是十分常见,现在对字符串的输入问题进行一下总结。
C++用cin输入的时候会忽略空格以后的字符,比如
char a[100]; cin>>a;
C++用cin输入的时候会忽略空格以后的字符,输入"hello world"输出的是"hello";
如果用循环输入
for(int i=0;i<100;i++) { cin>>a[i]; }
这样输入100个数吗?或者定义一个n,提前知道字符有多长,让i<n,都不是很好的方法。
这里可以用cin.getline(a,100);
解决,这个函数是默认输入回车表示输入结束。
下面一道例题:输入hello world,输出dlrow olleh,参考答案
#include<iostream> using namespace std; int main() { char a[20]; for(int i=0;i<20;i++) { a[i]='\0';} cin.getline(a,20); // cin>>a; cout << a<<endl; for(i=sizeof(a)-1;i>=0;i--) { if(a[i]!='\0') cout<<a[i]; } return 0; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
C++中输出十六进制形式的字符串
前言 在进行 i18n 相关的开发时,经常遇到字符编码转换的错误.这时如果能把相关字符串用十六进制的形式打印出来,例如,"abc" 输出成 "\\x61\\x62\\x63" 这对于 i18n 的除错来说是很有帮助的.Python 里面,只需要使用 repr() 函数就行了.可在 C++ 中如何做到这点呢? 下面是用 ostream 的格式化功能的一个简单的实现: std::string get_raw_string(std::string const& s
-
详解C++中十六进制字符串转数字(数值)
详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用: 方法1: sscanf() 函数名: sscanf 功 能: 从字符串格式化输入 用 法: int sscanf(char *string, char *format[,argument,...]); 以上的 format 为 %x 就是将字符串格式化为 16 进制数 例子: #include <stdio.h> void main() { char* p = "0x1a"; i
-
C/C++ 实现递归和栈逆序字符串的实例
C/C++ 实现递归和栈逆序字符串的实例 递归函数调用模型 逆序方法 void revers(char *buf){ char *p = buf; if (p == NULL) { return; } //递归结束条件 if (*p == '\0') { return; } //递归调用 revers(p + 1); //在字符串的结尾追加n个字符 strncat(buf_g, p, 1); } 调用 int main(int argc, const char * argv[]) { char
-
C++ 中字符串操作--宽窄字符转换的实例详解
C++ 中字符串操作--宽窄字符转换的实例详解 MultiByteToWideChar int MultiByteToWideChar( _In_ UINT CodePage, _In_ DWORD dwFlags, _In_ LPCSTR lpMultiByteStr, _In_ int cbMultiByte, _Out_opt_ LPWSTR lpWideCharStr, _In_ int cchWideChar ); 参数描述: CodePage:常用CP_ACP.CP_UTF8 dwF
-
详解NSString 与C++ string字符串的互转
NSString 与C++ string字符串的互转实例详解 1. string 转换为 NSString std::string str("hello"); NSString *str=[NSString stringWithString:str.c_str()]; NSString *istr=[NSString stringWithString:@"zsh"]; str=[istr cStringUsingEncoding: NSUTF8StringEnco
-
VC++ 字符串String MD5计算小工具 VS2008工程
基于字符串加密的MD5算法,VS2008 VC++,多字节编译工程.主要代码如下,实现了ANSI字符串加密与Unicode字符串加密. 运行效果如下: 核心代码: void CEncryptByMd5Dlg::OnButtonOk() { // TODO: Add your control notification handler code here UpdateData(true); unsigned int len=0; char *cTemp =NULL; if(m_bType==0) {
-
C++ string 字符串查找匹配实例代码
在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法.而对于C++的string,我们往往会用到find(). C++:#inlcude<string> C: #include<string.h> find():在一个字符串中查找一个指定的单个字符或字符数组.如果找到,就返回首次匹配的开始位置:如果没有查找到匹配的内容,就返回string::npos. find_first_of():在一个目标串
-
c++中数字与字符串之间的转换方法(推荐)
1.字符串数字之间的转换 (1)string --> char * string str("OK"); char * p = str.c_str(); (2)char * -->string char *p = "OK"; string str(p); (3)char * -->CString char *p ="OK"; CString m_Str(p); //或者 CString m_Str; m_Str.Format(&q
-
C++/C 回文字符串的实例详解
C++/C回文字符串的实例详解 判断输入的字符串是不是回文字符串,正反读一样. .C版 #include<stdio.h> int main() { char he[100]; char a; int i=0,flag=1; while((a=getchar())!='\n') { he[i]=a; i++; } int n=i; for(i=0;i<n/2;i++) { printf("%c\t%c\n",he[i],he[n-1-i]); if(he[i]!=he
-
C++中带空格字符串的输入问题解决
前言 字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格的字符串更是十分常见,现在对字符串的输入问题进行一下总结. C++用cin输入的时候会忽略空格以后的字符,比如 char a[100]; cin>>a; C++用cin输入的时候会忽略空格以后的字符,输入"hello world"输出的是"hello": 如果用循环输入 for(int i=0;i<100;i++) { cin>>a[i]; } 这样输入100个数吗?或者定义
-
C/C++中带空格字符串的输入讲解
目录 C语言 C++ string类型 总结 C语言 #include <iostream> using namespace std; int main() { char str[100]; gets(str); printf("%s\n",str); return 0; } C++ string类型 #include <iostream> #include <string> using namespace std; int main() { str
-
C++读取带空格字符串的方法
关于在C++中字符串的输入整理笔记 1. cin cin是C++中最常用的输入语句,当遇到空格或者回车键即停止 如: #include <iostream> #include <string> using namespace std; int main() { chara[50]; cin>>a; cout<<a<<endl; return0; } 输入:abcd遇回车输出abcd 缺点:只能输入没有空格的字符串,当输入中含有空格,则只能输出空格
-
Android EditTextView 实现带空格分隔的输入(电话号码,银行卡)
电话号码输入框需求: 三位,七位后有空格 删除倒数第四,第八位会将空格也删除 使用TextWatcher When an object of a type is attached to an Editable, its methods will be called when the text is changed.就是说,只要是一个可编辑的文本设置了TextWatcher,当文本发生变化时,TextWatcher里的方法将会被调用. 其实不难,看了网上搜索到的例子,思路绕了点,这边做一份自己的记
-
PowerShell命令中包含空格如何运行?
在PowerShell中,可以直接运行命令.包括.exe结尾的..com结尾的可执行程序,包括.bat结尾的..cmd结尾的批处理程序,还有.vbs结尾的..ps1结尾的脚本程序.均可以使用如下方式运行程序: <程序文件名>.<后缀> [参数列表] 但是请注意,这里的<程序文件名>其实是指的一个路径,可以是相对的,也可以是绝对的.当我们使用绝对路径的时候,会遇到路径中带空格的情况,像上面那种去执行它,就会报错了. 那么,如何运行带空格的命令呢? 答案是用引号!双引号.单
-
基于PHP中自带的字符串操作函数合集
1.查找字符位置函数: strpos($str,search,[int])://查找search在$str中的第一次位置从int开始: strrpos($str,search,[int])://查找search在$str中的最后一次出现的位置从int开始 2.提取子字符函数(双字节) submit($str,int start[,int length])://从$str中strat位置开始提取[length长度的字符串]. strstr($str1,$str2)://从$str1(第一个的位置)
-
关于Python中空格字符串处理的技巧总结
前言 大家应该都知道字符串处理,是任何语言最常用到的. 其中就经常会碰到,对字符串中的空格处理,比如:去除前后空格,去除全部空格,或者以空格为分隔符来处理. 好在Python中字符串有很多方法,比如lstrip() , rstrip() , strip()来去除字符串前后空格,借助split()对字符来分隔: 实在不行,还可以借助于re模块的sub函数来替换. 下面列举下,各种情况下的处理技巧,通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,话不多说了,来一起看看详细的介绍吧. [
-
php中替换字符串中的空格为逗号','的方法
今天在网查到一篇介绍php中替换字符串中的空格为逗号','的文章,作个日记保存下来. 复制代码 代码如下: <pre name="code" class="php"><? php /* * 关键词中的空格替换为',' */ public function emptyreplace($str) { $str = str_replace(' ', ' ', $str); //替换全角空格为半角 $str = str_replace(' ', ' ',
-
Java中去除字符串中所有空格的几种方法
JAVA中去掉空格 1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间 复制代码 代码如下: String str = " hell o "; String str2 = str.replaceAll(" ", ""); System.out.println(str2); 3.或者replaceAll("
-
10个.NET中删除空白字符串的方法
我们有无数方法可用于删除字符串中的所有空白,但是哪个更快呢? 介绍 如果你问空白是什么,那说起来还真是有些乱.许多人认为空白就是SPACE 字符(UnicodeU+0020,ASCII 32,HTML ),但它实际上还包括使得版式水平和垂直出现空格的所有字符.事实上,这是一整类定义为Unicode字符数据库的字符. 本文所说的空白,不但指的是它的正确定义,同时也包括string.Replace(" ", "")方法. 这里的基准方法,将删除所有头尾和中间的空白.这就
随机推荐
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- GO语言实现简单TCP服务的方法
- JavaScript中原型和原型链详解
- java中synchronized(同步代码块和同步方法)详解及区别
- iOS仿热门话题热点轮播界面tableView
- ASP.NET实现级联下拉框效果实例讲解
- 在.NET中使用Newtonsoft.Json转换,读取,写入的方法介绍
- php注册和登录界面的实现案例(推荐)
- 将RTF格式的文件转成HTML并在网页中显示的代码
- php版微信公众平台实现预约提交后发送email的方法
- C# 反射与dynamic最佳组合示例代码
- 用js实现随机返回数组的一个元素
- 浅谈javascript的url参数parse和build函数
- MUI顶部选项卡的用法(tab-top-webview-main)详解
- jQuery中Nicescroll滚动条插件的用法
- JavaScript实现图片无缝滚动效果
- Yii实现简单分页的方法
- Android开发之TimePicker控件用法实例详解
- 详解用Python为直方图绘制拟合曲线的两种方法
- java编写全年考勤日历