Ц ++ стрцолл () - Ц ++ стандардна библиотека

Функција стрцолл () у Ц ++ упоређује два нулта завршна низа. Поређење се заснива на тренутном локалитету дефинисаном категоријом ЛЦ_ЦОЛЛАТЕ.

стрцмп () је довољан за већину поређења низова, али када се ради са уницоде знаковима, понекад постоје одређене нијансе које поређење бајтова до бајтова чине нетачним.

На пример, ако упоређујете две жице на шпанском језику, оне могу садржавати наглашене знакове попут а, е, и, о, у, у, н, ¿, ¡итд.

Подразумевано, такви наглашени знакови долазе иза целе абецеде а, б, ц … з. Такво поређење би било погрешно, јер би различити акценти а заправо требали доћи пре б.

стрцолл () користи тренутни локални језик за обављање поређења дајући тачнији резултат у таквим случајевима.

Дефинисано је у заглављу датотеке.

прототип стрцолл ()

 инт стрцолл (цонст цхар * лхс, цонст цхар * рхс);

Функција стрцолл () узима два аргумента: лхс и рхс. Поређује садржај лхс и рхс на основу тренутног локалитета категорије ЛЦ_ЦОЛЛАТЕ.

стрцолл () Параметри

  • лхс и рхс: показивач на нулто завршене низове за упоређивање.

стрцолл () Повратна вредност

Функција стрцолл () враћа:

  • позитивна вредност ако је први различити знак у лхс већи од одговарајућег карактера у рхс.
  • негативна вредност ако је први знак који се разликује у лхс мањи од одговарајућег карактера у рхс.
  • 0 ако су лхс и рхс једнаки.

Пример: Како функционира функција стрцолл ()?

 #include #include using namespace std; int main() ( char lhs() = "Armstrong"; char rhs() = "Army"; int result; result = strcoll(lhs,rhs); cout < 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << lhs << " and " << rhs << " are same" << endl; return 0; )

Када покренете програм, излаз ће бити:

 У тренутном локалитету Армстронг претходи војсци

Занимљиви Чланци...