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

use*_*161 1 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;
}
Run Code Online (Sandbox Code Playgroud)

谢谢...

LPs*_*LPs 6

使用你的代码

#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++)
        {
            data[i-2]=imeino[i];
        }
    data[i-2] = '\0';
    printf("%s",data);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如你看到的:

  1. 数据索引必须从0开始.我从2开始然后你必须将它减去索引数据数组.
  2. 你必须NUL终止你的字符串.

可以使用许多更好的实现.看一眼