<স্ট্রিং। H> এবং <স্ট্রিংস>> এর মধ্যে পার্থক্য


91

আমি লক্ষ্য করেছি যে একটি <string.h>শিরোলেখ এবং শিরোনাম উভয়ই ছিল (কমপক্ষে ম্যাক ওএস এক্সে) <strings.h>man 3 stringতাদের বিভিন্ন ফাংশন রয়েছে তা প্রকাশ করে। এটির জন্যে কোন কারণ আছে কি?


4
এটির জন্য মূল্যবান, ওএস এক্সে strings.hনন-স্ট্যান্ডার্ড ফাংশন রয়েছে bcmp bcopy bzero ffs index rindex strcasecmp strncasecmp... এবং এটিই।
পোটোটোভটার

4
@ পোটাটোসওয়টার: পসিক্স দ্বারা নির্দিষ্ট করা ঠিক এটি করছে।
আর .. গিথহাব বন্ধ করুন ICE

উত্তর:


114

স্ট্রিংস বিএসডি শাখা থেকে ইউনিক্স বিবর্তনে আসে। এর সামগ্রীটি পসিক্স দ্বারা প্রমিত করা হয়েছে, তবে এর বেশিরভাগটি উত্তরাধিকার হিসাবে চিহ্নিত হয়েছে এবং অন্যান্য ফাংশনগুলির সাথে সহজেই প্রতিস্থাপন করা যেতে পারে:

int    bcmp(const void *, const void *, size_t); /* LEGACY, see memcmp */
void   bcopy(const void *, void *, size_t); /* LEGACY, see memcpy, memmove */
void   bzero(void *, size_t); /* LEGACY, see memset */
int    ffs(int);
char  *index(const char *, int); /* LEGACY, see strchr */
char  *rindex(const char *, int); /* LEGACY, see strrchr */
int    strcasecmp(const char *, const char *);
int    strncasecmp(const char *, const char *, size_t);

4
কিছু সি স্ট্যান্ডার্ড লাইব্রেরি এর strings.hমধ্যে অবহিত ফাংশনগুলিকে একত্রিত করেছে string.h। দেখুন, যেমন, গ্লিবসি
এন্টারপ্রো

19

সাধারণত <strings.h>স্ট্যান্ডার্ড শিরোনামে কিছু কার্যকর তবে অ-মানক অতিরিক্ত স্ট্রিং ফাংশন যুক্ত করে <string.h>। সর্বাধিক বহনযোগ্যতার জন্য আপনার কেবলমাত্র ব্যবহার করা উচিত <string.h>তবে আপনার যদি <strings.h>বহনযোগ্যতার প্রয়োজনের চেয়ে বেশি ফাংশনগুলির প্রয়োজন হয় তবে আপনি <strings.h>পরিবর্তে ব্যবহার করতে পারেন <string.h>


4
আমি এই কার্যকারিতাটির বর্ণনাটিকে "দরকারী" হিসাবে প্রশ্ন করব। এর মধ্যে বেশিরভাগ হ'ল বিভিন্ন নামের স্ট্যান্ডার্ড এএনএসআই / আইএসও সি ফাংশনের কুরুচিপূর্ণ বিএসডি সদৃশ। বাইট স্ট্রিংগুলির ক্ষেত্রে কেস-সংবেদনশীল তুলনা ফাংশনগুলি (ক্রস-প্ল্যাটফর্ম নির্ভরযোগ্যতার অর্থে) আধুনিক ইউটিএফ -8 স্ট্রিংগুলিতে সম্ভবত দরকারী নয় এবং এমনকি যদি তারা "কাজ করে", তারা সম্ভবত প্রোগ্রামারটি চাইলে শব্দার্থবিজ্ঞান সরবরাহ করে না। শুধুমাত্র ffsসম্ভবত দরকারী।
আর .. গীটহাব থামিয়ে দিন IEL

4
@ আর .: তারা দরকারী যদি আপনার এই বিধিগুলি ব্যবহার করে সংকলন করার জন্য উত্তরাধিকার বিএসডি কোড থাকে। ;-)
পল আর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.