不能从一组字符串中取出一个数字--C

时间:2015-10-06 07:55:21

标签: c arrays string char

我只想从字符串组中取出一个数字“865733024598757”。这看起来非常沮丧。一个简单的我已经尝试了一个小时,仍然无法得到解决方案。我的代码出了什么问题?

这是我的代码

#include<stdio.h>
#include<string.h>
int main()
{
    int i;
    char imeino[100]="\r\n865733024598757 OK\r\n";
    char data[20];
    for(i=2;i<17;i++)
        {
            //printf("%c",imeino[i]);
            data[i]=imeino[i];
        }
    printf("%s",data);
    return 0;
}

...谢谢

2 个答案:

答案 0 :(得分:6)

使用您的代码

NUL

如你所见:

  1. 数据索引必须从0开始.i从2开始,然后必须将其减去索引数据数组。
  2. 您必须for (var [key, value] of myMap.entries()) { console.log(key + " = " + value); } 终止字符串。
  3. 可以使用许多更好的实施方案。看看

答案 1 :(得分:2)

纠正工作代码

#include<stdio.h>
#include<string.h>
int main()
{
    int i;
    char imeino[100] = "\r\n865733024598757 OK\r\n";
    char data[20] = {0};
    for (i = 2; i< 17; i++)
    {
        //printf("%c",imeino[i]);
        data[i-2] = imeino[i];
    }
    printf("%s", data);
    return 0;
}