परिचय
C प्रोग्रामिंग भाषा को पांच दशक से अधिक समय पहले लॉन्च किया गया था। तब से इसने प्रोग्रामिंग दुनिया में अपार लोकप्रियता हासिल की है। यह अपनी विशेषताओं जैसे संरचनात्मक सरलता, फ़ंक्शन, पोर्टेबिलिटी, कुशल मेमोरी प्रबंधन आदि के कारण अन्य भाषाओं से अलग है। विभिन्न विशेषताओं के बावजूद, C में फ़ंक्शन सबसे प्रमुख संपत्ति हैं जो उपयोगकर्ताओं को मजबूत कोड स्निपेट लिखने में सहायता करते हैं।
इसके अलावा, itoa एक व्यापक रूप से इस्तेमाल किया जाने वाला नॉन-स्टैंडर्ड फ़ंक्शन है जो डेटा प्रकार परिवर्तक के रूप में कार्य करता है। यह int डेटा प्रकार को इनपुट के रूप में लेता है और इसे स्ट्रिंग में बदल देता है। हालांकि, आप में से कई लोग इसके उपयोग से परिचित नहीं हैं। इसलिए, यह मार्गदर्शिका संक्षेप में बताती है कि C में itoa फ़ंक्शन का उपयोग बिना किसी परेशानी के कैसे करें।
आइए बुनियादी बातों से शुरू करें
यहां itoa फ़ंक्शन के लिए सरल सिंटैक्स दिया गया है:
int main() {
int num = 12345;
char str[20];
itoa(num, str, 10);
printf("Integer: %d\nString: %s\n", num, str);
return 0;
}
दिए गए प्रोग्राम में विवरण इस प्रकार हैं:
- num पूर्णांक है
- str वर्ण सरणी है
- 10 आधार (base) है
अब आगे बढ़ते हैं, एक प्रोग्राम लिखते हैं और itoa फ़ंक्शन को लागू करते हैं
उदाहरण के लिए, हमें दर्ज संख्याओं को स्ट्रिंग में बदलने के लिए एक प्रोग्राम लिखना होगा।
#include <stdio.h>
#include <stdlib.h>
void itoa(int num, char *str, int base) {
int i = 0;
int isNegative = 0;
if (num == 0) {
str[i++] = '0';
str[i] = '\0';
return;
}
if (num < 0 && base != 10) {
isNegative = 1;
num = -num;
}
while (num != 0) {
int rem = num % base;
str[i++] = (rem > 9) ? (rem - 10) + 'a' : rem + '0';
num = num / base;
}
if (isNegative && base == 10)
str[i++] = '-';
str[i] = '\0';
// स्ट्रिंग को उल्टा करें क्योंकि रूपांतरण के दौरान अंक उल्टे क्रम में प्राप्त होते हैं
int start = 0;
int end = i - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
int main() {
int num;
printf("एक पूर्णांक दर्ज करें: ");
if (scanf("%d", &num) != 1) {
fprintf(stderr, "अमान्य इनपुट। कृपया एक पूर्णांक दर्ज करें।\n");
return EXIT_FAILURE;
}
int max_size = snprintf(NULL, 0, "%d", num) + 1;
char *str = (char *)malloc(max_size);
if (str == NULL) {
fprintf(stderr, "मेमोरी आवंटन विफल\n");
return EXIT_FAILURE;
}
itoa(num, str, 10);
printf("पूर्णांक: %d\nस्ट्रिंग: %s\n", num, str);
free(str);
return 0;
}
कोड व्याख्या
पिछले प्रोग्राम में, itoa(int num, char *str, int base) itoa फ़ंक्शन है। इसके अलावा, निम्नलिखित सिंटैक्स सीधे परिणाम को शून्य निर्दिष्ट करता है जब इनपुट संख्या भी शून्य होती है:
if (num == 0) {
str[i++] = '0';
str[i] = '\0';
return;
}
जब इनपुट संख्या नकारात्मक होती है और आधार 10 नहीं होता है, तो निम्नलिखित प्रोग्राम लाइनें नकारात्मक फ़्लैग सेट करेंगी:
if (num < 0 && base != 10) {
isNegative = 1;
num = -num;
}
निम्नलिखित लूप सभी अंकों को संसाधित करता है और उन्हें संबंधित वर्ण में बदल देता है। इसलिए, 10 से बड़े आधारों के लिए, प्रोग्राम अंक 10 से 15 के लिए अक्षरों "a" से "f" का उपयोग करता है।
while (num != 0) {
int rem = num % base;
str[i++] = (rem > 9) ? (rem - 10) + 'a' : rem + '0';
num = num / base;
}
जब संख्या मूल रूप से नकारात्मक होती है और आधार 10 होता है, तो प्रोग्राम परिणाम स्ट्रिंग में नकारात्मक चिह्न जोड़ देगा।
if (isNegative && base == 10)
str[i++] = '-';
निम्नलिखित लाइनें परिणाम स्ट्रिंग को समाप्त करती हैं और फिर इसे उल्टा कर देती हैं क्योंकि रूपांतरण प्रक्रिया के दौरान अंक उल्टे क्रम में प्राप्त होते हैं:
str[i] = '\0';
// स्ट्रिंग को उल्टा करें
int start = 0;
int end = i - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
इस प्रकार, प्रोग्राम पूर्णांक को इनपुट के रूप में लेता है और स्ट्रिंग प्रतिनिधित्व के लिए मेमोरी आवंटित करता है। उसके बाद, यह पूर्णांक को स्ट्रिंग में बदलने के लिए itoa को कॉल करता है और मूल पूर्णांक को प्रिंट करता है। अंत में, यह आवंटित मेमोरी को मुक्त करता है। उदाहरण के लिए, आइए प्रोग्राम को एक संख्या दें:

हालांकि, यदि आप एक गैर-पूर्णांक संख्या दर्ज करते हैं, तो प्रोग्राम निम्नलिखित परिणाम दिखाएगा:
निष्कर्ष
इस तरह आप C में itoa फ़ंक्शन को आसानी से लागू और उपयोग कर सकते हैं। हमने एक विस्तृत उदाहरण का उपयोग किया जिसमें पूर्णांक को स्ट्रिंग में बदलने के लिए कई फ़ंक्शन शामिल हैं। याद रखें, यह केवल एक उदाहरण है, लेकिन आप अद्भुत प्रोग्राम लिखने के लिए itoa फ़ंक्शन को विभिन्न फ़ंक्शन के साथ जोड़ सकते हैं।
लेखक के बारे में

प्रतीक जांगिड़
व्यक्तिगत और व्यावसायिक कारणों से एक भावुक लिनक्स उपयोगकर्ता, हमेशा लिनक्स की दुनिया में नया क्या है इसकी खोज करता रहता है और अपने पाठकों के साथ साझा करता है।
