I have a string containing a date in day/month/year format.Now I want to separate day,month and year in integer variables.If I use strtok() I can't store them in integer variable and If I use atoi(),it only return the first part(only day). How can I do it?

asked 24 Nov '16, 06:26

john's gravatar image


আপনি sscanf ব্যাবহার করতে পারেন, এটি scanf এর মতই কাজ করে । কিন্তু এখানে সুবিধা হলো আপনি স্ট্রিং থেকে ডাটা নিতে পারবেন ।

আপনার একটি স্ট্রিং char date[] = "19/02/2017"; হলে আপনি এখান থেকে 19, 02, 2017 নিয়ে তিনটি ভেরিয়েবল এ রাখতে পারবেন ।

আপনার সুবিধার জন্য পুরো কোড দিলাম । ( হেডারঃ stdio.h,stdlib.h,string.h)

int main()
   char date[] = "19/02/2017";
   int day,month,year;
   sscanf( date, "%d/%d/%d",&day,&month,&year );

   printf("%d %d %d\n", day, month, year);

permanent link

answered 19 Feb '17, 07:58

Sharif%20Chowdhury's gravatar image

Sharif Chowdhury

আপনার কাংক্ষিত পদ্ধতিতে কাজ করতে হলে:

strtok ব্যবহার করে আপনি তিনটি token পাবেন এবং প্রতিটিকে আলাদাভাবে atoi-এর মাধ্যমে integer-এ রূপান্তর করতে হবে।

তবে Sharif Chowdhuryপদ্ধতিতে কোড ছোট ও সুন্দর হবে।

permanent link

answered 20 Feb '17, 15:43

mahrahat's gravatar image


Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 24 Nov '16, 06:26

question was seen: 650 times

last updated: 20 Feb '17, 15:43