سؤال

أنا أعمل في مشروع باستخدام Arduino وعلى هذا النحو، أقرأ من منفذ تسلسلي (يرسل intس). أحتاج بعد ذلك كتابة هذا التواصل التسلسلي إلى شاشة LCD، التي تأخذ char*.

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

TLDR.: كيف يمكنني إلحاق int إلى أ char*, ، ثم قم بمسح السلسلة بعد أن يكون له حرفين؟

هل كانت مفيدة؟

المحلول

A Char هو حرف واحد، بينما يمكن أن يكون AARK * مؤشرا لشخصية أو مؤشر إلى الحرف الأول في سلسلة C، وهي مجموعة من الأحرف التي تم إنهاؤها حرفا فارغا.

لا يمكنك استخدام Char لتمثيل عدد صحيح أطول من رقم واحد، لذلك سأفترض أنك فعلت في الواقع يعني Char *.

اذا كنت تمتلك

char buffer[10];

ثم يمكنك ضبط buffer إلى سلسلة تمثل int n مع sprinthf.

sprintf(buffer, "%d", n);

وعند الانتهاء من ذلك، يمكنك مسح السلسلة

sprintf(buffer, "");

آمل أن يكون هذا ما كنت تطلبه حظا سعيدا!

نصائح أخرى

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top