چگونه خروجی تابع strtok() را در یک آرایه دخیره کنم - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

چگونه خروجی تابع strtok() را در یک آرایه دخیره کنم

0 امتیاز

سلام

من با استفاده از تابع strtok یک رشته را تجزیه می کنم  چگونه می توانم خروجی آن یعنی ptr را در یک آرایه ذخیره کنم کدی که خودم نوشتم مقدار ptr را در آرایه ی phnum ذخیره می کند اما زمانی که به main بر می گردد و می خواهم در دستور printf از این آرایه استفاده کنم آن را نمی شناسد.

void editcmt()
{
char term[2]=":,";
char *ptr;
int8 h=0;
ptr=strtok(recive,term);
while(ptr!=NULL)
{
if(h==0)
{
ptr=strtok(NULL,term);
delay_ms(2);
strcpy(phnum,ptr);
phnum[strlen(phnum)-1]='\0';
}

if(h>0)
{
ptr=strtok(NULL,term);
}
restart_wdt();
h++;
}
clear();
delay_ms(200);
if(bkbhit)
{
geti();
strcpy(smstext,recive);
clear();
}
}

در نتیجه زمانی که به بدنه ی اصلی برنامه بر می گردم جهت چاپ با دستور زیر چیزی چاپ نمی شود

printf("AT+CMGS=%c%s%c%c",dq,phnum,dq,enter);

این برای برای میکروکنترلر نوشته شده

سوال شده مهر 11, 1396  بوسیله ی qwwe (امتیاز 9)   1 1 1
لطفاً کد را دندانه دار قرار بدید.

1 پاسخ

0 امتیاز
برای پاس دادن متغیر به تابع باید آن را از طریق پارامتر پاس بدید داخل تابع یا متغیر خودتون را به صورت عمومی نعریف کنید
پاسخ داده شده مهر 13, 1396 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
...