قراءة سلسلة مع مسافات هي واحدة من المهام الرئيسية عند العمل مع النص. في العديد من لغات البرمجة ، بما في ذلك ج ، يمكن أن يسبب هذا بعض الصعوبات للمطورين المبتدئين. ومع ذلك ، مع النهج الصحيح واستخدام الوظائف المناسبة ، يمكن أن يكون الأمر بسيطا للغاية.
في ج ، هناك عدة طرق لقراءة سلسلة بمسافات. واحدة من الأكثر شعبية هو استخدام وظيفة يحصل (). ومع ذلك ، تجدر الإشارة إلى أن هذه الوظيفة قد تم إهمالها ولا ينصح باستخدامها بسبب خطر تجاوز سعة المخزن المؤقت.
الخيار الأكثر أمانا والأفضل هو استخدام وظيفة فجيتس (). يسمح لك بقراءة سلسلة بمسافات من مصدر محدد إلى عدد محدد من الأحرف. لقراءة السلسلة بأكملها ، يمكنك تحديد قيمة كبيرة بما فيه الكفاية لعدد الأحرف ، على سبيل المثال ، 1024.
مثال على استخدام وظيفة فجيتس() :
# تشمل
كثافة العمليات الرئيسية () {
شارع شار [1024];
برينتف ("أدخل السلسلة:");
فجيتس (ستر ، سيزوف (ستر) ، ستدين);
برينتف ("لقد دخلت: ٪ ق" ، شارع);
العودة 0;
}
في هذا المثال ، نعلن شارع متغير من نوع مجموعة من الأحرف (سلسلة) مع عناصر كافية لسلسلة ليتم قراءتها. ثم نعرض دعوة للمستخدم لإدخال سلسلة باستخدام وظيفة برينتف (). بعد ذلك ، نقرأ سلسلة مع مسافات باستخدام وظيفة فجيتس() وإخراجه إلى الشاشة باستخدام وظيفة برينتف ().
- نحن ندرس طرقا لقراءة السلاسل ذات المسافات في ج
- كيفية استخدام وظيفة المسح الضوئي لقراءة الأسطر ذات المسافات
- طريقة جيتشار: قراءة الأحرف حتى حرف السطر الجديد
- باستخدام وظيفة جيتس لقراءة خطوط مع مسافات
- كيفية استخدام وظيفة فجيتس لقراءة خطوط مع مسافات
- سؤال وجواب
- كيف أحسب سلسلة مع مسافات في البداية والنهاية?
- كيف يمكنني قراءة سطر من وحدة التحكم بمسافات بين الكلمات?
- كيف نحسب سلسلة بمسافات, لكن غير حساس لحالة الأحرف?
- هل من الممكن قراءة سلسلة مع مسافات في بيثون إذا كانت موجودة فقط في الوسط?
- كيف يمكنني الاعتماد على سلسلة مع عدة مسافات بين الكلمات?
نحن ندرس طرقا لقراءة السلاسل ذات المسافات في ج
تعد قراءة الأسطر ذات المسافات إحدى العمليات الأساسية عند العمل مع البيانات المدخلة بلغة سي. في كثير من الأحيان ، يقوم المستخدم بإدخال سلسلة قد تحتوي على مسافات وأحرف مسافة بيضاء أخرى.
في ج ، هناك عدة طرق لقراءة السلاسل ذات المسافات. دعونا ننظر إلى بعض منهم:
- باستخدام السلسلة.h
مكتبة السلسلة.ح توفر المكتبة عددا من الوظائف للعمل مع السلاسل. واحد منهم هو فجيتس:
# تشمل
شارع شار [100];
فجيتس (ستر ، سيزوف (ستر) ، ستدين);
يعتمد اختيار الطريقة على المهمة المحددة وتفضيلات المبرمج. من المهم أن تتذكر التحكم في حجم بيانات الإدخال لتجنب تجاوز سعة المخزن المؤقت وأخطاء تنفيذ البرنامج.
وهنا بعض الطرق لقراءة سلسلة مع مسافات في اللغة ج. حظا سعيدا التعلم!
كيفية استخدام وظيفة المسح الضوئي لقراءة الأسطر ذات المسافات
تعد وظيفة المسح الضوئي واحدة من أكثر الوظائف شيوعا في لغة البرمجة ج لإدخال لوحة المفاتيح. ومع ذلك ، عند استخدام وظيفة المسح الضوئي لقراءة الأسطر ذات المسافات ، قد تنشأ بعض الصعوبة. في هذا القسم ، سننظر في كيفية التغلب على هذه المشكلة.
عند استخدام وظيفة المسح الضوئي لقراءة الأسطر ذات المسافات ، فإن السلوك القياسي للوظيفة هو قراءة الأحرف حتى المساحة الأولى أو حرف السطر الجديد (تغذية السطر) وحفظها في مخزن مؤقت. هذا يعني أن وظيفة المسح الضوئي ستقرأ فقط الكلمة الأولى من السلسلة.
لقراءة الأسطر ذات المسافات عند استخدام وظيفة المسح الضوئي ، استخدم محدد التنسيق ٪[^\
] ، وهو ما يعني "قراءة جميع الأحرف باستثناء حرف السطر الجديد". يسمح لك هذا المحدد بقراءة السلاسل ذات المسافات ، بما في ذلك جميع الأحرف حتى حرف السطر الجديد.
مثال على استخدام وظيفة المسح الضوئي لقراءة الأسطر ذات المسافات:
# تشمل
كثافة العمليات الرئيسية () {
شارع شار [100];
برينتف ("أدخل سطرا بمسافات:");
سكانف (" ٪ [^\
] "،شارع);
برينتف ("لقد دخلت: ٪ ق
"،شارع);
العودة 0;
}
في المثال أعلاه ، يقرأ البرنامج سلسلة بمسافات باستخدام وظيفة المسح الضوئي مع محدد التنسيق ٪[^\
] ، ثم إخراج هذه السلسلة إلى الشاشة.
الآن أنت تعرف كيفية استخدام وظيفة المسح الضوئي لقراءة خطوط مع مسافات. هذه مهارة مفيدة للغاية عند معالجة مدخلات المستخدم التي تحتوي على مسافات.
طريقة جيتشار: قراءة الأحرف حتى حرف السطر الجديد
طريقة جيتشار () هي واحدة من وظائف الإدخال الرئيسية في لغة البرمجة ج. يسمح لك بقراءة السلاسل التي تتكون من أحرف ، بما في ذلك المسافات والأحرف الخاصة الأخرى. في هذا القسم ، سوف ننظر إلى مثال على استخدام وظيفة جيتشار () لقراءة الأحرف حتى حرف سطر جديد.
لقراءة سلسلة باستخدام وظيفة جيتشار () ، تحتاج إلى إنشاء حلقة التي سيتم تشغيلها حتى حرف السطر الجديد '
'يقرأ. في كل تكرار للحلقة ، فإن وظيفة جيتشار () قراءة حرف واحد من المدخلات.
هنا هو مثال رمز يدل على استخدام وظيفة جيتشار () لقراءة سلسلة:
# تشمل
كثافة العمليات الرئيسية () {
ج;
برينتف ("أدخل السلسلة:");
بينما ((ج = جيتشار ())!= '
') {
// تجهيز ج
}
عودة 0 حرف;
}
- هنا نعلن المتغير 'ج' ، والتي سيتم استخدامها لقراءة الأحرف. نحن إخراج دعوة للمستخدم باستخدام وظيفة برينتف () ، ومن ثم بدء حلقة التي سيتم تشغيلها حتى حرف السطر الجديد '
'يقرأ. في كل تكرار للحلقة ، يتم استدعاء دالة جيتشار () ، والتي تقرأ الحرف من الإدخال وتعيينه إلى قيمة المتغير 'ج'.
لا توجد معالجة الأحرف في هذا المثال ، تمت إزالته من أجل البساطة. ومع ذلك ، يمكنك إضافة معالجة الأحرف الخاصة بك داخل الحلقة لتنفيذ الإجراءات اللازمة مع قراءة كل حرف.
عندما يضغط المستخدم على مفتاح الإدخال ، سيقوم البرنامج بإنهاء الحلقة ومواصلة تنفيذ التعليمات البرمجية بعد الحلقة. في هذا المثال ، لا نقوم بحفظ سلسلة القراءة ، ولكن يمكنك إنشاء مجموعة من الأحرف لتخزين السلسلة التي تم إدخالها وتعبئتها داخل الحلقة.
وبالتالي ، فإن وظيفة جيتشار () هي أداة مفيدة لقراءة السلاسل ، بما في ذلك أحرف الفضاء والأحرف الخاصة الأخرى. باستخدام هذه الوظيفة ، يمكنك قراءة السلاسل مع أي عدد من الأحرف حتى حرف السطر الجديد.
باستخدام وظيفة جيتس لقراءة خطوط مع مسافات
يتم استخدام وظيفة يحصل في لغة البرمجة ج لقراءة السلاسل مع المسافات. يسمح لك بتلقي المدخلات من المستخدم حتى يتم إدخال سطر جديد.
بناء الجملة:
شار * يحصل (شار * شارع);
المعلمات:
شارع: مؤشر إلى مجموعة من الأحرف التي سيتم تسجيل إدخال المستخدم.
الوصف:
وظيفة يحصل يقرأ الأحرف من تيار المدخلات القياسية ويخزنها في صفيف حرف ستر. تستمر القراءة حتى حرف سطر جديد
'دخلت. تتضمن السلسلة الناتجة مسافات وأحرف أخرى. تقوم الدالة بإرجاع مؤشر إلى شارع السلسلة.
مثال الاستخدام:
# تشمل
كثافة العمليات الرئيسية () {
اسم الحرف [50];
برينتف ("أدخل اسمك:");
يحصل (الاسم);
برينتف ("مرحبا ، ٪ ق!"،الاسم);
العودة 0;
}
في هذا المثال ، يتم استخدام وظيفة جيتس لقراءة اسم المستخدم. يطلب من المستخدم إدخال اسمه ، والذي يتم تخزينه في مصفوفة أحرف الاسم. يقوم البرنامج بعد ذلك بإخراج تحية باستخدام الاسم الذي تم إدخاله.
هام:
يتم إهمال وظيفة يحصل. لا ينصح باستخدام هذه الوظيفة ، لأنها لا توفر أي فحص تجاوز سعة المخزن المؤقت. فمن المستحسن استخدام وظيفة فجيتس لقراءة خطوط مع مسافات ، كما أنه يوفر الاختيار تجاوز سعة المخزن المؤقت.
كيفية استخدام وظيفة فجيتس لقراءة خطوط مع مسافات
وظيفة فجيتس هي طريقة عالمية لقراءة خطوط من ملف أو إدخال قياسي. ومع ذلك ، بشكل افتراضي ، تتوقف وظيفة فجيتس في الفضاء الأول ، مما يجعلها غير مناسبة لقراءة خطوط تحتوي على مسافات. ولكن مع بعض التغييرات في التعليمات البرمجية ، يمكننا أن نجعل أقطاب قادرة على قراءة خطوط مع مسافات.
لقراءة سلسلة مع مسافات باستخدام وظيفة فجيتس ، يجب عليك استخدام معلمات وظيفة إضافية. النظر في التعليمات البرمجية التالية:
# تشمل
كثافة العمليات الرئيسية()
{
شارع شار [100];
برينتف ("أدخل السلسلة:");
فجيتس (ستر ، سيزوف (ستر) ، ستدين);
برينتف ("السلسلة المدخلة: ٪ س" ، شارع);
العودة 0;
}
في هذا المثال ، نعلن مجموعة من الأحرف ستر التي سوف تحتوي على سلسلة دخلت. ثم نستخدم وظيفة برينتف لإخراج موجه"أدخل سلسلة:". بعد ذلك ، نسمي وظيفة فجيتس ، وتحديد مجموعة من الأحرف ستر كوسيطة ، فضلا عن حجم هذه المصفوفة ومؤشر إلى ستدين المدخلات القياسية.
وظيفة فجيتس قراءة الأحرف من المدخلات القياسية حتى يقرأ عدد كاف من الأحرف أو واجه حرف سطر جديد
‘. إذا كان عدد الأحرف المقروءة مساويا لحجم مصفوفة الأحرف ، فسيتم استبدال الحرف الأخير في المصفوفة بـ '\ 0 ' للإشارة إلى نهاية السلسلة.
وهكذا ، فإن وظيفة فجيتس يسمح لك لقراءة خطوط مع مسافات ، لأنه يأخذ في الاعتبار جميع الأحرف حتى حرف السطر الجديد ، بما في ذلك المسافات والأحرف الخاصة الأخرى.
بعد قراءة السلسلة باستخدام وظيفة فجيتس ، يمكننا استخدام السلسلة الناتجة (المخزنة في صفيف ستر) لمزيد من معالجة البيانات أو الإخراج إلى الشاشة. في هذا المثال ، نحن ببساطة استخدام وظيفة برينتف لإخراج سلسلة إلى الشاشة.
وهكذا ، وذلك باستخدام وظيفة فجيتس تليها إخراج سلسلة ، يمكننا بسهولة قراءة السلاسل التي تشمل المسافات.
سؤال وجواب