求问如何读取文档的整数到一个数组里?

xyzinfernity 2013-01-25 05:11:24

比如这个文档里的数据,我要把这几个整数保存在整型数组A[20]里
遇到空格可以用filename>>A[i]直接跳过,但是遇到整数和逗号呢?怎么筛选出其中的整数,查了好久都没找到方法
...全文
251 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
AIGPTchina 2013-01-26
  • 打赏
  • 举报
回复
若是数字就写文件。
dingqiang107 2013-01-26
  • 打赏
  • 举报
回复
在C++11中你可以用strtol()。
#include <cstdlib>

using namespace std;

char* s="some words:\n1,3,8\n2,9,5\n6,10,11\nabcdef:\n13,19,20\n9,7,3\n21,29,5";
long A[20];

int main()
{
    int i = 0;
    for( auto p=s; *p; )
    {
        if( isdigit(*p) )
        {
            A[i++] = strtol(p,&p,10);
        }
        else
        {
            ++p;
        }
    }
}
xyzinfernity 2013-01-25
  • 打赏
  • 举报
回复
引用 8 楼 zhao4zhong1 的回复:
http://bbs.csdn.net/topics/360055953
非常感谢,看来我还是要去学下C语言的读写操作了,C++能做到这么简单吗?
漫步者、 2013-01-25
  • 打赏
  • 举报
回复
引用 5 楼 xyzinfernity 的回复:
引用 1 楼 ganpengjin1 的回复: 你把数据读出来,判断是不是数字不就行了么? 但是如果把数字读出来就分不清两位数和个位数了啊- -
可以的,你试试就知道了
xyzinfernity 2013-01-25
  • 打赏
  • 举报
回复
引用 1 楼 ganpengjin1 的回复:
你把数据读出来,判断是不是数字不就行了么?
但是如果把数字读出来就分不清两位数和个位数了啊- -
阿麦 2013-01-25
  • 打赏
  • 举报
回复
楼上正解。但VC的安全性,建议更改为strtok_s 代码如下:

#include <stdio.h>
#include <string.h>
int main ()
{
	char str[] = "- This, a sample string.";
	char* pch;
	printf_s("Splitting string \"%s\" into tokens:\n",str);
	char* NextToken;
	pch = strtok_s(str," ,.-", &NextToken);
	while (pch != NULL)
	{
		printf_s("%s\n",pch);
		pch = strtok_s(NULL, " ,.-", &NextToken);
	}
	return 0;
}
彭家老三 2013-01-25
  • 打赏
  • 举报
回复
sorry,上面那个输出不是一行,应该是下面这样 Splitting string "- This, a sample string." into tokens: This a sample string
彭家老三 2013-01-25
  • 打赏
  • 举报
回复
用strtok分割字符串,用法如下:
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] ="- This, a sample string.";
  char * pch;
  printf ("Splitting string \"%s\" into tokens:\n",str);
  pch = strtok (str," ,.-");
  while (pch != NULL)
  {
    printf ("%s\n",pch);
    pch = strtok (NULL, " ,.-");
  }
  return 0;
}
输出: Splitting string "- This, a sample string." into tokens:Thisasamplestring
漫步者、 2013-01-25
  • 打赏
  • 举报
回复
你把数据读出来,判断是不是数字不就行了么?
赵4老师 2013-01-25
  • 打赏
  • 举报
回复
赵4老师 2013-01-25
  • 打赏
  • 举报
回复

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧