সম্পাদনা: দুঃখিত, আমার মনে রাখা উচিত ছিল যে এই মেশিনটি সিদ্ধান্তগতভাবে অ-মানক, libc
একাডেমিক উদ্দেশ্যে বিভিন্ন অ-মানক বাস্তবায়নে প্লাগ করেছেন ;-)
হিসাবে itoa()
প্রকৃতপক্ষে অ-মানক, যেমন বিভিন্ন সহায়ক মন্তব্যকারী উল্লেখ, এটা শ্রেষ্ঠ ব্যবহার করা sprintf(target_string,"%d",source_int)
অথবা (এখনো ভাল, কারণ এটি বাফার উপচে থেকে নিরাপদ) snprintf(target_string, size_of_target_string_in_bytes, "%d", source_int)
। আমি জানি যে এটি এতটা সংক্ষিপ্ত বা শীতল itoa()
নয়, তবে কমপক্ষে আপনি একবার লিখতে পারেন, সর্বত্র রান করুন (টিএম) ;-)
পুরানো (সম্পাদিত) উত্তর এখানে
আপনি সঠিকভাবে বলেছেন যে ডিফল্টটিতে অন্যান্য বেশ কয়েকটি প্ল্যাটফর্মের মতো gcc libc
অন্তর্ভুক্ত থাকে না itoa()
, কারণ এটি প্রযুক্তিগতভাবে স্ট্যান্ডার্ডের অংশ না হওয়ার কারণে। আরও কিছু তথ্যের জন্য এখানে দেখুন । আপনি যে নোট করুন
#include <stdlib.h>
অবশ্যই আপনি এটি ইতিমধ্যে জানেন, কারণ আপনি সম্ভবত অন্য প্ল্যাটফর্মে এটি ব্যবহার itoa()
করার পরে লিনাক্সে ব্যবহার করতে চেয়েছিলেন , কিন্তু ... কোডটি (উপরের লিঙ্কটি থেকে চুরি হয়েছে) দেখতে দেখতে এই রকম হবে:
উদাহরণ
/* itoa example */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10);
printf ("decimal: %s\n",buffer);
itoa (i,buffer,16);
printf ("hexadecimal: %s\n",buffer);
itoa (i,buffer,2);
printf ("binary: %s\n",buffer);
return 0;
}
আউটপুট:
Enter a number: 1750
decimal: 1750
hexadecimal: 6d6
binary: 11011010110
আশাকরি এটা সাহায্য করবে!
sprintf(str, "%d", num)
? এটা তুলনায় অনেক ধীরitoa
?