फ़ंक्शन strxfrm() सोर्स स्ट्रिंग को वर्तमान लोकेल में ट्रांसफॉर्म करता है और ट्रांसफॉर्म्ड स्ट्रिंग के पहले नंबर के कैरेक्टर्स को डेस्टिनेशन पर कॉपी करता है। यह C भाषा में "locale.h" हेडर फ़ाइल में घोषित है।
यहां C भाषा में strxfrm() का सिंटैक्स है:
size_t strxfrm(char *destination, const char *source, size_t number)
यहां,
destination - डेस्टिनेशन पॉइंटर जहां कैरेक्टर्स कॉपी किए जाएंगे।
source - वह स्ट्रिंग जिसे ट्रांसफॉर्म किया जाना है।
number - कॉपी किए जाने वाले कैरेक्टर्स की संख्या।
यहां C भाषा में strxfrm() का एक उदाहरण है:
उदाहरण
#include <stdio.h>
#include <string.h>
int main() {
char s[10] = "HelloWorld";
char d[10];
int n;
n = strxfrm(d, s, 5);
printf("स्ट्रिंग की लंबाई: %d", n);
return 0;
}
आउटपुट
स्ट्रिंग की लंबाई: 10
उपरोक्त प्रोग्राम में, दो char टाइप ऐरे घोषित किए गए हैं। एक डेस्टिनेशन है और दूसरा सोर्स है जहां से ट्रांसफॉर्म्ड कैरेक्टर्स का सेट डेस्टिनेशन पर कॉपी किया जाता है। यह केवल "n" कैरेक्टर्स कॉपी करेगा।
महत्वपूर्ण: strxfrm() ट्रांसफॉर्म्ड स्ट्रिंग की लंबाई लौटाता है (नल टर्मिनेटर को छोड़कर), न कि कॉपी किए गए कैरेक्टर्स की संख्या। यदि डेस्टिनेशन बफर बहुत छोटा है, तो व्यवहार अनिर्धारित है।
उपयोग
- लोकेल-अवेयर स्ट्रिंग तुलना के लिए
- strcoll() के साथ उपयोग करने के लिए
- इंटरनेशनलाइज़ेशन सपोर्ट के लिए