dize bu formda geçerli: Bir dizeden 2 int nasıl kopyalayabilirim?
int i=0;
for (i=0;isdigit(str[i]);i++){
}
char *dest1;
strncpy(dest1, str, i-1);
dest1[i]='\0';
Ve ikinci int için
, tekrar yaptım:123 456\n
Benim temel fikir-döngü bir yan boşluk bulmaktır
int j=i+1;
for (;isdigit(str[j]);j++){
}
char *dest2;
strncpy(dest2; (str+j); j-i);
dest2[j-i+1]='\0';
int from = atoi(dest1);
int to = atoi(dest2);
Ama bunu ikinci kez Xcode söyleyen & & ' 'çok az argümanlar işlev benzeri makro çağırmayı sağlanan' ifade sonucu kullanılmamış '.
Ama onlar aynı sözdizimidir ... Birisi bana nerede yanlış yaptığımı söyle?
, bu nedenle bu tanımlanmamıştır. – EOF
Onları başlattıktan sonra hala bu iki hata var. –
İyi, yanlış yerine, ikinci snippet'te 'strncpy()' argümanları arasında ';' 'yerine. Ancak, kodun, programın tanımlanmamış davranış göstermesini çok olası kılan başka bir dizi kusur vardır. – EOF