扫描main中的值并将其传递给转换该值C语言的函数

时间:2016-09-29 17:59:52

标签: c

朋友们,我在C语言中有这个功能

struct webtech tramafunction();

此函数会收到类似这样的值

/*¶bL0 L3,01,+08590323,-079343001,010215,00000000000000,-tN,000,012689997,001219456,000,7FF2,C07F,0,4,*/

然后函数make this:

struct webtech tramafunction(){
struct webtech wbt;
 char buf[103]="";
 scanf("%[^\t\n]s",buf);
 printf("\n \n data destinated to convert=[%s]\n\n", buf);
int z;
z=strlen(buf);
printf("size of data: %d",z);
int i = 0;
char *p = strtok (buf, ",");
char *array[16]={0};
while (p != NULL)
{
    array[i++] = p;
    p = strtok (NULL, ",");
}

for (i = 0; i <16; ++i){
    wbt.x15 = 0;
    if (array[i] != NULL){
        wbt.x15=atoi(array[15]);
    }

printf("data: [%s]\n", array[i]);
}



printf("\n \t \t --data--\n");

strcpy(wbt.indice,array[0]);
printf("INDEX: [%s]\n",wbt.indice);


 wbt.prid=atoi(array[1]);
 printf("PRE INDEX: [%d]\n",wbt.prid);
 return wbt;
}

主要做到这一点:

int main()
{

 struct webtech con;

 con = tramafunction();
 return 0;

}

问题是如何才能使要转换的数据(char buf [])在main中读取而不在函数中读取。

1 个答案:

答案 0 :(得分:0)

你只需声明变量

char buf[103] = ""; 

在函数内部,在标题中也是

struct webtech tramafunction(char buf[103]);

主要:

int main()
 {

 struct webtech con;
 char tr[103]="";
 scanf("%[^\t\n]s",tr);
 con = tramafunction(tr);
return 0;

 }