C++处理输入字符串并转为数组的操作

 更新时间:2021年01月13日 09:47:03   作者:闭麦听歌不交流  
这篇文章主要介绍了C++处理输入字符串并转为数组的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

最近在做题的时候在处理输入时遇到一个令人头疼的问题,今天解决了和大家分享一下:

比如题目要求的输入为一行数,数与数之间用空格间隔开,数的个数未知,数也有正有负:

11 -2 65 7

那么如何把这个输入保存到数组a中,且数组a中的值为a[0]=11,a[1]=-2,a[3]=65,a[4]=7呢?

先看代码:

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
  int a[20];
  int i = 0;
  cin>>a[i++];
  while(getchar()!='\n')
  {
    cin>>a[i++];
  }
  for(int j=0;j<i;j++)
  {
    cout<<"a["<<j<<"]:"<<a[j]<<endl;
  }
}

关于getchar()函数:

该函数返回输入流的每一个字符,在这段程序中当该函数判断当前字符不是换行符时,则输入流cin向数组写入一个数字。

有的同学可能会问为什么这里会写一整个数字而不是一个字符,这里说一些我的见解,我们平时使用cin时,一般都是这样使用的:cin>>a>>b,在控制台实际输入时a和b是以空格分开的,也就是说cin会一直读入字符直到遇到空格或换行符,那么我们的程序里的cin也就一直读入字符了。

其他问题:

该程序可以处理以任何字符分隔数字的字符串,包括冒号分号甚至小数点,目前还不知原因为何

补充:C++输入未知长度字符串存入数组

记录C++学习过程的问题,方便以后自己查看

int main()
{
string str;
char temp;
while((temp=cin.get())!='\n')
{
str +=temp;
}
const int LEN =str.length();
char* dest = new char[LEN];
for(int i = 0;i<LEN;i++) //将字符串保回存到字符数组中答
{
dest[i]=str[i];
cout<<dest[i];
}
delete 【】dest;
return 0;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 常用的STL查找算法

    常用的STL查找算法

    这篇文章主要介绍了常用的STL查找算法的相关资料,十分的详细,需要的朋友可以参考下
    2015-07-07
  • 神奇的c/c++小游戏((提高你的编程兴趣)

    神奇的c/c++小游戏((提高你的编程兴趣)

    本文通过c/c++编写小游戏,可以提高新手们的编程兴趣,接下来我们一起来看看吧
    2021-08-08
  • C++瓦片地图坐标转换的实现详解

    C++瓦片地图坐标转换的实现详解

    常见的瓦片地图有矩形、菱形、正六边形几种。此文章主要讨论菱形瓦片,也就是大家常说的2.5D,斜45度瓦片地图。比如《红警2》、《帝国时代2》都是采用这种技术
    2022-09-09
  • Cocos2d-x UI开发之CCControlSwitch控件类使用实例

    Cocos2d-x UI开发之CCControlSwitch控件类使用实例

    这篇文章主要介绍了Cocos2d-x UI开发之CCControlSwitch控件类使用实例,本文代码中含大量注释讲解了CCControlSwitch控件类的使用,需要的朋友可以参考下
    2014-09-09
  • C++ assert()函数用法案例详解

    C++ assert()函数用法案例详解

    这篇文章主要介绍了C++ assert()函数用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 深入理解C++的对象模型

    深入理解C++的对象模型

    本文在介绍C++使用的对象模型之前,先介绍了2种对象模型:简单对象模型(a simple object model)和表格驱动对象模型(a table-driven object model),这样介绍对后面的内容更有帮助,有需要的小伙伴们可以参考学习。
    2016-08-08
  • C语言的随机数rand()函数详解

    C语言的随机数rand()函数详解

    这篇文章主要为大家详细介绍了C语言的随机数rand()函数,使用数据库,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • C语言错误信息报告strerror函数和perror函数详解

    C语言错误信息报告strerror函数和perror函数详解

    这篇文章主要介绍了C语言错误信息报告strerror函数和perror函数,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • C语言编程之预处理过程与define及条件编译

    C语言编程之预处理过程与define及条件编译

    这篇文章主要为大家介绍了C语言编程之预处理过程与define及条件编译,文中通过图文及示例代码方式作了详细的解释,有需要的朋友可以借鉴参考下
    2021-09-09
  • C++ STL_vector 迭代器失效问题的解决方法

    C++ STL_vector 迭代器失效问题的解决方法

    迭代器的主要作用就是让算法能够不用关心底层数据结构,其底层实际就是一个指针,或者是对指针进行了封装,迭代器失效,实际就是迭代器底层对应指针所指向的空间被销毁了,对迭代器失效我们了解了,那么现在我们就分析,在vector中哪些操作会导致迭代器失效
    2023-08-08

最新评论