سلام
من با استفاده از تابع 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);
این برای برای میکروکنترلر نوشته شده