كيف تقرأ سلسلة في C. لا توفر لغة البرمجة C نوع بيانات سلسلة فعلي. في لغة C ، تتم محاكاة سلسلة بواسطة مصفوفة من الأحرف تنتهي بـ NULL. يمكن الإعلان عن مثل هذه المصفوفة بشكل ثابت أو كمؤشر. يوفر المعيار C العديد من الوظائف لمعالجة مصفوفات الأحرف أو سلاسل C. تركز هذه المقالة على الوظائف التي تقرأ من دفق الإدخال ومن الملفات. اتبع هذه النصائح لمعرفة كيفية قراءة سلسلة في C.
الخطوة 1
افهم الأساسيات. سلسلة C هي صفيف من نوع المخطط. كما هو الحال مع جميع مصفوفات C ، تتم فهرسة العنصر الأول عند 0 ، والعنصر الأخير عند "طول السلسلة ناقص 1." عادةً ما يقوم المترجم بإدراج NULL في الموقع الأخير ، لذلك يمكن أن تحتوي السلسلة على "طول السلسلة مطروحًا منها 1" عناصر. القيمة الفارغة تكافئ 0x00 في شكل عدد صحيح و '\ 0' في شكل حرف. يتم الوصول إلى العناصر بواسطة عامل التشغيل "[]". الخطوة 2 توضح هذه المفاهيم.
فيديو اليوم
الخطوة 2
أضف "تعليمات التضمين" أدناه إلى أي ملف مصدر قبل استخدام وظائف هذا البرنامج التعليمي:
# تضمين
الخطوه 3
قم بتعريف سلسلة C. يُظهر الكود أدناه تصريحًا باستخدام التابعين الثابت والمؤشر:
// تصريح ثابت char str [50] = {0} ؛ // طريقة مختصرة لتهيئة جميع العناصر إلى 0 // str [49] هي NULL // str لها سعة 48 حرفًا // تصريح بواسطة مؤشر char
pStr = NULL ؛ // لا يوجد تخصيص للذاكرة pStr = (char) malloc (50) ؛ // يتم ذلك بواسطة "malloc ()"الخطوة 4
قراءة البيانات في سلسلة C باستخدام "scanf () ،" التي تقرأ سلسلة من السلاسل مفصولة بمسافة عن المعيار إدخالها ووضعها في عناوين تنتمي إلى متغيرات مرجعية مناسبة ، وفق "تنسيق" سلسلة":
int ن ؛ printf ("أدخل اسمك الأول والعمر:")؛ scanf ("٪ s٪ d" ، str ، & n) ؛ // printf ("اسمك٪ s وأنت٪ d قديم \ n"، str، n)؛
الخطوة الخامسة
ضع البيانات في سلسلة C باستخدام دالة "get ()" الأبسط ، والتي تقرأ البيانات من الإدخال القياسي إلى سلسلة فقط:
printf ("أدخل اسمك الأخير:") ؛ يحصل (شارع) ؛ printf ("اسمك هو٪ s \ n" ، str) ؛
الخطوة 6
قراءة بيانات الملف في سلسلة C باستخدام "fscanf ()" ؛ هذه الوظيفة مماثلة لـ "scanf ()":
FILE * pFile ؛ pFile = fopen ("myFile.txt"، "r") ؛ // افترض أن الملف موجود ولديه بيانات إذا (NULL! = pFile) {fscanf (pFile، "٪ s"، str)؛ printf ("الكلمة الأولى في الملف هي٪ s \ n"، str)؛ fclose (pFile) ؛ }
الخطوة 7
كرر الخطوة 5 باستخدام "fgets ()" ، والتي تعمل بنفس طريقة "gets ()":
FILE * pFile ؛ pFile = fopen ("myFile.txt"، "r") ؛ إذا (NULL! = pFile) {fgets (pFile، str) ؛ printf ("الكلمة الأولى في الملف هي٪ s \ n"، str)؛ fclose (pFile) ؛ }
الأشياء ستحتاج
مترجم C / C ++ IDE أو C
كتاب عن لغة سي ، مثل "لغة البرمجة سي" بقلم بريان و. كيرنيغان
نصيحة
لمعرفة المزيد حول الوظائف المذكورة ، قم بزيارة موقع C Plus Plus.
تحذير
لا تحاول تجميع هذا الرمز. من المفترض فقط إظهار الوظائف. إنه ليس برنامجًا متماسكًا وسيعطي أخطاء عند تجميعه.