الانتقال إلى المحتوى الرئيسي

كيفية حذف سلسلة في ج: دليل عملي

يعد حذف السطر عملية شائعة عند العمل مع لغة البرمجة سي. في بعض الحالات ، قد يكون من الضروري حذف سلسلة معينة من مجموعة من الأحرف أو من ملف. في هذه المقالة ، سوف ننظر في عدة طرق لحذف سلسلة في اللغة ج ، وكذلك تقديم أمثلة عملية للاستخدام.

الطريقة الأولى لحذف سلسلة هي استخدام وظيفة ستركبي (). تتيح لك هذه الوظيفة نسخ محتويات سطر واحد إلى سطر آخر. لحذف سطر ، انسخ جميع الأحرف بعد السطر المطلوب إلى سطر جديد. يمكنك استخدام حلقة لنسخ الأحرف واحدة تلو الأخرى وتجريد السلسلة المصدر من الجزء الضروري.

كثافة العمليات طول = 15;

  1. مصدر شار [] = "سيتم حذف هذا السطر";
  2. الطول الدولي = 21;
  3. ميموف (المصدر ، المصدر + الطول ، سترلين (المصدر) - الطول + 1);
  4. بغض النظر عن الطريقة المختارة لحذف سلسلة ، من المهم تذكر التخصيص الصحيح للذاكرة والتحكم في حدود مصفوفة الأحرف لتجنب الأخطاء في البرنامج. يمكنك اختيار الطريقة الأنسب اعتمادا على مهمتك وتفضيلاتك في البرمجة ج.
  5. الخطوات الأولية قبل حذف صف

تحديد سلسلة لحذفها في ج

حذف سلسلة من صفيف في ج

  1. حذف سلسلة من مصفوفة ديناميكية في ج
  2. حذف سطر من ملف في ج
  3. إزالة سلسلة من سلسلة في ج
  4. التحقق من الحذف الناجح لسلسلة في ج

سؤال وجواب

كيف يمكنني حذف سلسلة في ج?

الذي يعمل من السلسلة.ح مكتبة يمكن استخدامها لحذف سلسلة في ج?

كيف يمكنني استخدام مؤشرات لحذف سلسلة في ج?

  • كيف يمكنني تعيين سلسلة فارغة في ج لحذف سلسلة موجودة?
  • هل من الممكن حذف سلسلة دون استخدام مكتبة السلسلة.ح في اللغة ج?
  • الخطوات الأولية قبل حذف صف
  • قبل حذف سلسلة في اللغة ج ، تحتاج إلى تنفيذ عدة خطوات أولية:

حدد الصف الذي تريد حذفه. راجع التعليمات البرمجية الخاصة بك وابحث عن السطر الذي تريد حذفه. تأكد من تحديد السلسلة بشكل صحيح لتجنب حذف الجزء الخطأ من التعليمات البرمجية.

إنشاء نسخة احتياطية. قبل حذف سطر ، يوصى بإنشاء نسخة احتياطية من ملفك أو مشروعك. سيسمح لك ذلك باستعادة الإصدار السابق إذا حدث خطأ ما.

تأكد من أن الرمز لا يعتمد على السطر الذي يتم حذفه. قم بتحليل الكود للتأكد من عدم وجود أجزاء أخرى من الكود تعتمد على السطر الذي يتم حذفه. إذا كانت هناك تبعيات ، فقد تحتاج إلى تغييرها أو إعادة كتابة الكود بحيث يستمر في العمل بشكل صحيح بعد حذف السطر.

احفظ التغييرات. قبل حذف سطر ، تأكد من حفظ جميع التغييرات الأخرى في ملفك. إذا كانت لديك تغييرات غير محفوظة ، فاحفظها حتى لا تفقد البيانات.

بعد الانتهاء من هذه الخطوات الأولية ، يمكنك حذف سطر بأمان من لغة التعليمات البرمجية الخاصة بك ومواصلة العمل على مشروعك.

تحديد سلسلة لحذفها في ج

قبل حذف سطر في ج ، تحتاج إلى تحديد السطر الذي تريد حذفه. في ج ، السلسلة عبارة عن سلسلة من الأحرف محاطة بعلامات اقتباس مزدوجة.

يمكنك تحديد سلسلة لحذفها في ج باستخدام إحدى الطرق التالية:

التعيين المباشر لسلسلة إلى متغير.

إدخال سلسلة من لوحة المفاتيح.

قراءة سطر من ملف.

سلسلة (سلسلة) من عدة سلاسل.

التخصيص المباشر لسلسلة إلى متغير:

# تشمل

كثافة العمليات الرئيسية () {

شار شارع [] = "سلسلة سبيل المثال لحذف";

// رمز لحذف سلسلة

// ...

العودة 0;

}

إدخال سطر من لوحة المفاتيح:

# تشمل

كثافة العمليات الرئيسية () {

شارع شار [100];

printf("Введите строку для удаления: ");

scanf("%s", str);

// Код для удаления строки

// ...

return 0;

}

Чтение строки из файла:

#include

int main() {

FILE *file = fopen("file.txt", "r");

char str[100];

if (file == NULL) {

printf("Ошибка при открытии файла!");

return 1;

}

fgets(str, sizeof(str), file);

fclose(file);

// Код для удаления строки

// ...

return 0;

}

Конкатенация (объединение) нескольких строк:

#include

#include

int main() {

  1. شار ستري1 [] = "السطر الأول ";
  2. شار ستر2 [] = "السطر الثاني";
  3. نتيجة شار [100];
  4. ستركبي (النتيجة ، ستري1);
  5. ستركات (النتيجة ، سترات2);

// رمز لحذف سلسلة

// ...

العودة 0;

}

بمجرد تحديد الصف المراد حذفه ، يمكنك استخدام الوظائف والمشغلين المناسبين لحذف هذا الصف.

حذف سلسلة من صفيف في ج

تتطلب إزالة سلسلة من صفيف في ج عدة خطوات. فيما يلي خوارزمية تقريبية للإجراءات:

تحديد الصفيف وأبعاده.

حدد الصف المراد حذفه.

ابحث عن فهرس السلسلة في المصفوفة.

انقل جميع عناصر المصفوفة ، بدءا من الفهرس ، موضع واحد إلى اليسار.

تقليل حجم الصفيف بنسبة 1.

هنا مثال على رمز ج الذي يزيل سلسلة من صفيف:

# تشمل

// وظيفة لإزالة سلسلة من صفيف

حذف باطل (شار * صفيف [] ، كثافة العمليات * الحجم ، مؤشر كثافة العمليات) {

// نقل عناصر الصفيف

ل (إنت أنا = مؤشر ؛ أنا < * حجم-1 ؛ أنا {) {

صفيف [أنا] = صفيف [أنا + 1];

}

// تقليل حجم المصفوفة

* الحجم = * الحجم - 1;

}

كثافة العمليات الرئيسية () {

شار * صفيف [] = {"السطر 1" ، " السطر 2 "، "السطر 3"};

كثافة العمليات الحجم = 3;

مؤشر كثافة العمليات = 1; // فهرس الصف المراد حذفه

// استدعاء الدالة لحذف صف من مصفوفة الحذف

(صفيف ، وحجم ، مؤشر);

// إخراج المصفوفة المحدثة

ل (إنت أنا = 0 ؛ أنا < الحجم ؛ أنا i) {

  1. برينتف ("٪ق
  2. "،صفيف [أنا]);
  3. }
  4. العودة 0;
  5. }

نتيجة لتنفيذ هذا الرمز ، فإنه سيتم إخراج:

إذا (أنا != ريموفيندكس) {

  1. }
  2. // تحرير ذاكرة المصفوفة الأصلية
  3. مجانا (صفيف);
  4. // تعيين مصفوفة جديدة للمؤشر الأصلي

صفيف = نيوراي;

// إخراج المصفوفة المحدثة

برينتف ("صفيف محدث:");

ل (إنت أنا = 0 ؛ أنا < حجم-1 ؛ أنا {) {

برينتف ("٪د " ، صفيف [أنا]);

}

العودة 0;

}

هذا مثال أساسي يوضح إزالة سلسلة من مصفوفة ديناميكية في لغة ج. قد تتطلب إزالة الصفوف من المصفوفات متعددة الأبعاد أو تمكين عمليات إضافية منطقا أكثر تعقيدا.

حذف سطر من ملف في ج

في لغة البرمجة سي ، يمكن حذف سطر من ملف باستخدام الخطوات التالية:

افتح ملفا في وضع القراءة والكتابة باستخدام الوظيفة

فوبين()

.

قم بإنشاء ملف مؤقت للتسجيل باستخدام الوظيفة

تمبفيل()

.

اقرأ الأسطر من الملف المصدر واكتبها في ملف مؤقت ، مع تخطي السطر الذي يجب حذفه.

أغلق كلا الملفين باستخدام الوظيفة

فكلوس()

.

حذف الملف المصدر باستخدام

وظيفة إزالة ()

.

إعادة تسمية الملف المؤقت إلى اسم الملف الأصلي باستخدام

وظيفة إعادة تسمية ()

.

مثال رمز ج يوضح كيفية حذف سطر من ملف:

# تشمل

    اسم الخط الحالي current;

# تشمل

  1. # تشمل

كثافة العمليات الرئيسية () {

شارع شار [50] = "مرحبا, العالمية!";

شار سوبستر [10] = "العالم";

char *pos = strstr(str, substr);

if (pos != NULL) {

size_t size = strlen(pos + strlen(substr)) + 1;

memmove(pos, pos + strlen(substr), size);

}

printf("Результат: %s", str);

return 0;

}

Использование цикла for:

В этом способе можно использовать цикл for, чтобы перезаписывать элементы строки, начиная с позиции, следующей за удаляемой подстрокой:

#include