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

Функцията strxfrm () в C ++ трансформира даден нулев прекратен байт низ в дефинирана форма на изпълнение.

Функцията strxfrm () трансформира низа по такъв начин, че сравняването на два преобразувани низа с помощта на функцията strcmp () дава идентичен резултат като сравняване на оригиналните низове с помощта на функцията strcoll () в текущия локал C.

Например, x и y са два низа. a и b са два низа, образувани чрез трансформиране на x и y съответно с помощта на функцията strxfrm. Тогава обаждането до strcmp (a, b) е същото като извикването на strcoll (x, y).

strxfrm () прототип

 size_t strxfrm (char * dest, const char * src, size_t count);

Функцията strxfrm () преобразува първите символи за преброяване на низа, посочен от src, във формуляр, дефиниран от изпълнението, и резултатът се съхранява в мястото на паметта, посочено от dest.

Поведението на тази функция е неопределено, ако:

  • размер на дес е по-малък от необходимия размер.
  • dest и src се припокриват.

Определя се в заглавния файл "> заглавния файл.

strxfrm () Параметри

  • dest: указател към масива, където се съхранява преобразуваният низ.
  • src: указател към завършващия с нула низ, който трябва да се трансформира.
  • брой: максимален брой знаци за конвертиране.

strxfrm () Върната стойност

Функцията strxfrm () връща броя на преобразуваните символи, с изключение на завършващия нулев знак ' 0'.

Пример: Как работи функцията strxfrm ()?

 #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; )

Когато стартирате програмата, изходът ще бъде:

 strcoll върна -1 Преди преобразуване, strcmp върна 1 След трансформация, strcmp върна -1

Интересни статии...