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

xyzinfernity 2013-01-25 05:11:24

比如这个文档里的数据,我要把这几个整数保存在整型数组A[20]里
遇到空格可以用filename>>A[i]直接跳过,但是遇到整数和逗号呢?怎么筛选出其中的整数,查了好久都没找到方法
...全文
231 10 点赞 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wcg_jishuo 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
  • 打赏
  • 举报
回复
相关推荐
发帖
C++ 语言
加入

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2013-01-25 05:11
社区公告
暂无公告