Bear char dizileri olarak iki tarih karşılaştıran doğru yönde bana gelin lütfen.bu benim ikinci stackoverflow soru Benim oğlanlara C
Ben tarihleri çıktısını:
printf("%s - %s\n",tmpPtr->date, currentDate);
Ve hep
if(tmpPtr->date != currentDate) { // perhaps strcmp(), don't know
printf("Dates are not equal\n");
}
idam olan bir if deyimi var Ama bunlar benim sonuçlar, çünkü bu doğru olamaz:
27/12/2015 - 27/12/2015
Dates are not equal
27/12/2015 - 27/12/2015
Dates are not equal
28/12/2015 - 27/12/2015
Dates are not equal
29/12/2015 - 28/12/2015
Dates are not equal
29/12/2015 - 29/12/2015
Dates are not equal
29/12/2015 - 29/12/2015
Dates are not equal
30/12/2015 - 29/12/2015
Dates are not equal
31/12/2015 - 30/12/2015
Dates are not equal
31/12/2015 - 31/12/2015
Dates are not equal
Bazı tarihler eşit olduğu için bu doğru olamaz ?
Dizeleri doğru olarak karşılaştırıyorum? Sadece bellek tahsisini mi yoksa sıralamadaki bir şeyi mi karşılaştırıyor? tarihleri davayı gibi görünüyor aynı biçimde ise
if (strcmp(tmpPtr->date,currentDate) != 0) {
printf("Dates are not equal\n");
}
Hatta kendi kodunuzda * kendi yorumlarını okuyun *? Strcmp() 'nin belgelerine bir göz attınız mı? – EOF
@EOF'un ne yazdığını eklemek için: Kendinizi zaten düşündüğünüz gibi strcmp'yi denediniz mi? Neden işe yaramadı? Neden denemedin? – Olaf
Evet, belgeleri okudum. Bunu okuduğumda, <0 döndürdüğünde str1 değerinin str2 değerinden daha az olduğunu gösterir. Eğer Dönüş değeri> 0 ise, bu str2'nin str1'den küçük olduğunu gösterir. Eğer Dönüş değeri = 0 ise, bu str1'in str2'ye eşit olduğunu gösterir. Ben, @Olaf – Blarsssss