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

Функција стркфрм () у Ц ++ трансформише дати нуле завршени низ бајтова у облик дефинисан имплементацијом.

Функција стркфрм () трансформише стринг тако да упоређивање два трансформисана низа помоћу функције стрцмп () даје идентичан резултат као упоређивање изворних низова помоћу функције стрцолл () у тренутном Ц локалитету.

На пример, к и и су два низа. а и б су два низа настала трансформацијом к и и респективно помоћу функције стркфрм. Тада је позив стрцмп (а, б) исти као позив стрцолл (к, и).

прототип стркфрм ()

 сизе_т стркфрм (цхар * дест, цонст цхар * срц, сизе_т цоунт);

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

Понашање ове функције није дефинисано ако:

  • величина дестинације је мања од потребне величине.
  • дест и срц се преклапају.

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

стркфрм () Параметри

  • дест: показивач на низ у коме се налази трансформисани низ.
  • срц: показивач на нулто завршени низ који треба трансформисати.
  • цоунт: максималан број знакова за конверзију.

стркфрм () Повратна вредност

Функција стркфрм () враћа број трансформисаних знакова, изузимајући крајњи нулл знак ' 0'.

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

 #include #include #include using namespace std; int main() ( setlocale(LC_COLLATE, "cs_CZ.UTF-8"); const char* s1 = "hrnec"; const char* s2 = "chrt"; char t1(20), t2(20); cout << "strcoll returned " << strcoll(s1,s2) << endl; cout << "Before transformation, " << "strcmp returned " << strcmp(s1,s2) << endl; strxfrm(t1,s1,10); strxfrm(t2,s2,10); cout << "After transformation, " << "strcmp returned " << strcmp(t1,t2) << endl; return 0; )

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

 стрцолл вратио -1 Прије трансформације, стрцмп вратио 1 Након трансформације, стрцмп је вратио -1

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