אופן השימוש במחרוזת C ++ Literal

How Use C String Literal



במקלדת המחשב מודפסים תווים. כאשר אתה לוחץ על מקש, אתה רואה את הדמות על המסך. הערה: גם מרחב הוא דמות. מחרוזת מילולית היא רצף של תווים. מאמר זה מסביר כיצד להשתמש ב- C ++ מילולי מחרוזת. עליך לדעת על מערכי C ++ והצעות כדי להבין מאמר זה.

אופי מילולי

תו מילולי הוא דמות במרכאות בודדות. לכן,







לְהַשְׁחִירident1= 'ל'; לְהַשְׁחִירident2= 'ב'; לְהַשְׁחִירident3= '4'; לְהַשְׁחִירident4= '6';

כולם הגדרות שונות של דמויות. שים לב שספרה במרכאות בודדות היא תו ולא מספר שלם.



רצף בריחה כגון (ראה להלן) במרכאות בודדות, הוא תו. לכן,



לְהַשְׁחִירident1= '' ';

היא דמות.





סמל יחיד במרכאות כפולות אינו תו; היא מחרוזת של דמות אחת. אז A או c או 2 אינו תו אלא הוא מחרוזת של תו אחד כל אחד.

ניתן להקצות מחדש את המשתנה של צ'ארם, בהמשך התוכנית, כדלקמן:



לְהַשְׁחִירזהות= 'איקס';
זהות= 'וגם';

כדי למנוע שינוי תו שהוקצה למזהה, בהמשך התוכנית, לפני ההגדרה המילה השמורה, const, כדלקמן:

קבוע לְהַשְׁחִירזהות= 'd';

על המשתנה, זהה אומרים שהוא לקריאה בלבד.

מחרוזת מילולית

מחרוזת מילולית היא רצף תווים במרכאות כפולות. לכן,

לְהַשְׁחִירident1[] = 'אני אוהב אותך'; לְהַשְׁחִירident2[] = 'אני שונא 3 מכם'; לְהַשְׁחִירident3[]
= 'אנחנו העולם'; לְהַשְׁחִירident4[] = 'שלום עולם!';

כולם הגדרות שונות של מחרוזות מילוליות. שימו לב לשימוש במרכאות כפולות. אין כמו משתנה רגיל למחרוזת. מחרוזת מילולית היא מערך של תווים, שבהם במקום תחום עם {}, הרצף תוחם עם. הסימנים אינם מופרדים באמצעות פסיקים. ניתן להציב בסוגריים המרובעים כל מספר גדול ממספר התווים שבמחרוזת מילולית. עם זאת, עדיף להשאיר את הסוגריים המרובעים ריקים.

תו יחיד במרכאות כפולות אינו תו; היא מחרוזת של דמות אחת. אז A או c או 2 אינו תו, אלא מחרוזת של תו אחד כל אחד.

משתנה מחרוזת אינו מאפשר הקצאה מחדש של המילולי המלא, בהמשך התוכנית-ראה להלן. עם זאת, ניתן להקצות מחדש תווים בודדים-ראה להלן.

ציטוט יחיד וכפול באופי או מילולי

כדי לקבל ציטוט יחיד כדמות, עשה משהו כמו,

לְהַשְׁחִירזהות= ' '';

כדי לקבל ציטוט כפול כדמות במחרוזת מילולית, עשה משהו כמו,

לְהַשְׁחִירזהות[] = 'רָחוֹק'CD';

נטוי הלוח האחורי משמש ברצף בריחה, כדי למנוע התנגשות עם תוחמי תוחם. כדי לקבל ציטוט כפול כדמות, אין צורך בנטה לאחור: '' זה בסדר. כדי לקבל ציטוט יחיד במחרוזת מילולית, אין צורך בנטה לאחור: ab'cd בסדר.

מכיוון שנקודת החיתוך משמשת כדי להימלט מדמות, יש להימלט ממנה עם נטוי לאחור כאשר היא משמשת כדמות או במחרוזת מילולית.

רצף בריחה

רצף בריחה הוא אחד מ:

''? \ ל ב f n r> t v

כל רצף בריחה מקובל בדרך כלל או כתו בתוך מרכאות בודדות או כרצף בריחה בתוך מרכאות כפולות.

  • ’: משמש כדמות ציטוט אחת בתוך מרכאות בודדות.
  • : משמש כדמות ציטוט כפולה, בתוך מילולית.
  • ? : מאז ? הוא דמות שמורה, יש להימלט ממנה ממש.
  • \: יש להימלט מהצדה האחורית כדמות או כמחרוזת מילולית, כדי לא לגרום למשמעות אחרת.
  • a: משמיע פעמון אזעקה פעם אחת, כאשר הוא משמש כדמות או בתוך מחרוזת מילולית.
  • b: התוצאות כמקום אחורי בתצוגה בתוך מחרוזת מילולית, המוריד את התו הקודם.
  • f: גורם להזנת הדף הבא למדפסת בעת שימוש כדמות או בתוך מילולית.
  • r: מחזיר את הסמן, שבו יש להדפיס את התו הבא, אך בתוך השורה הנוכחית.
  • n: מחזיר את הסמן לתחילת השורה הבאה או רק לשורה הבאה, בהתאם למערכת ההפעלה.
  • t: יוצר כרטיסייה אופקית.
  • v: יוצר כרטיסייה אנכית.

פעולות עם דמויות

שִׁרשׁוּר

בהגדרה ניתן לחבר שני מילולי מחרוזות עם רווח כדלקמן:

לְהַשְׁחִירזהות[] = 'א ב ג' 'def';
עֲלוּת<<זהות<< ' n';

הפלט הוא: abcdef. ניתן להרחיב הגדרה זו ליותר משתי מילוליות. הערה: המשפט הוא הגדרה, לא רק מטלה. ההגדרה יכולה אפילו להמשיך לשורה הבאה עם רווח המפריד בין השורות כדלקמן:

לְהַשְׁחִירזהות[] = 'א ב ג' 'def'
'לקחת הערה';
עֲלוּת<<זהות<< ' n';

הפלט הוא, abcdefghi.

הערה: לא ניתן לחבר תווים בצורה זו, מכיוון שהמרכאות היחידות של הדמות אינן יכולות להכיל יותר מסמל אחד.

מפעילי שוויון

אותם תווים באותו מקרה שווים. הם אינם שווים אם הם לא מאותו מקרה. לשקול,

תוצאה של בול= 'ב' == 'ב';
עֲלוּת<<תוֹצָאָה<< ' n';

== פירושו שווה, בעוד = פירושו מוקצה-לא ושווה. הפלט הוא 1 עבור true. לשקול,

תוצאה של בול= 'ב' == 'ב';
עֲלוּת<<תוֹצָאָה<< ' n';

הפלט הוא 0 עבור שקר. לשקול,

תוצאה של בול= 'ב' == 'ג';
עֲלוּת<<תוֹצָאָה<< ' n';

הפלט הוא 0 עבור שקר. לשקול,

תוצאה של בול= 'ב' ! = 'ב';
עֲלוּת<<תוֹצָאָה<< ' n';

! = פירושו לא שווה, בעוד = פירושו מוקצה-לא ולא שווה. הפלט הוא 0 עבור שקר. לשקול,

תוצאה של בול= 'ב' ! = 'ב';
עֲלוּת<<תוֹצָאָה<< ' n';

הפלט הוא 1 עבור true. לשקול,

תוצאה של בול= 'ב' ! = 'ג';
עֲלוּת<<תוֹצָאָה<< ' n';

הפלט הוא 1 עבור true.

אז, == ו! = הם מפעילי שוויון.

מפעילים יחסיים

עבור תווים רגילים ב- C ++, בסדר עולה, מספרים מגיעים לפני אותיות גדולות, המגיעות לפני אותיות קטנות.

לכן= מוסברים באופן דומה.

המיתר המילולי כאובייקט

המערך הוא מצביע קבוע לתחילת רצף סוג נתונים מסוים. באופן דומה, המחרוזת היא מצביע קבוע לתחילת רצף תווים. השווה את ההגדרות הבאות:

intarr[] = {3, 4, 5, 6, 7};
לְהַשְׁחִירעמ[] = {'ב', 'אוֹ', 'M', 'ל', 'n'};
לְהַשְׁחִירstri[] = 'אִשָׁה';

המערך הראשון הוא מערך של ints ויש לו חמישה אלמנטים. המערך השני והשלישי הם מערכי תווים עם שמות שונים, אך אותו מספר אלמנטים. המערך השני והשלישי זהים, אבל בשמותיהם. תוכן הטקסט של המערך השני תחום על ידי פלטה; התווים מופרדים באמצעות פסיקים וכל תו מצוי במרכאות בודדות. תוכן הטקסט של המערך השלישי תוחם במרכאות כפולות; התווים אינם מופרדים באמצעות פסיקים וכל תו אינו נמצא במרכאות בודדות. המערך השני והשלישי הן שתי דרכים לייצר מחרוזת, כאשר הדרך השלישית היא הדרך הטובה יותר.

arr הוא מצביע קבוע לרכיב הראשון של המערך שלו, כלומר arr תמיד יצביע על המיקום בעל המספר השלם, 3 גם אם הערך 3 משתנה. גודל המערך, חמישה אלמנטים, לא באמת נשאר קבוע. עם זאת, ניתן לשנות כל אחד מערכי המערך.

str הוא מצביע קבוע לאלמנט הראשון של המערך שלו, כלומר str תמיד יצביע על המיקום שבו יש את התו, 'w' גם אם הערך של 'w' משתנה. גודל מערך התווים, חמישה אלמנטים, לא באמת נשאר קבוע. עם זאת, ניתן לשנות כל אחד מערכי המילולי.

stri הוא מצביע קבוע לאלמנט הראשון של המילולי שלו (מערך), כלומר stri תמיד יצביע על המיקום בעל הדמות, w גם אם הערך של w ישתנה. גודל המחרוזת מילולית (מערך), חמישה אלמנטים, לא ממש נשאר קבוע. עם זאת, ניתן לשנות כל אחד מערכי המילולי.

מה קבוע במערך או מחרוזת מילולית? כתובת הזיכרון של האלמנט הראשון של המערך או מילולית נשארת כערך השם (המזהה) של המערך או מילולית, ולא ניתן לשנותה. ובכן, גודל המערך או המילולי לא ממש נשאר קבוע. ניתן לשנות כל ערך במערך או מילולי. הקוד הבא מראה כיצד השתנה הרכיב הרביעי של כל אחד מהמערכים:

intarr[] = {3, 4, 5, 6, 7};
לְהַשְׁחִירעמ[] = {'ב', 'אוֹ', 'M', 'ל', 'n'};
לְהַשְׁחִירstri[] = 'אִשָׁה';

arr[3] = 9;
עמ[3] = 'וגם';
stri[3] = 'וגם';

עֲלוּת<<arr[3] << ' n';
עֲלוּת<<עמ<< ' n';
עֲלוּת<<stri<< ' n';

הפלט הוא:

9
נשים נשים
נשים

שים לב שניתן לגשת למרכיבי מחרוזת מוגדרת מילולית, כמו להגדרה השלישית לעיל, באמצעות אינדקס המערך (תת -כתב). הסיבה לשורה השנייה של הפלט ניתנת להלן.

הגדרת מנוי

שים לב כי בהגדרות שלעיל, אין מספר שלם למנוי. כאשר לא ניתן לקבוע בקלות את מספר האלמנטים, על ידי המתכנת, יש להשמיט את המספר השלם של המנוי. לא משנה מה המקרה, המספר השלם לא צריך להיות קטן ממספר האלמנטים במערך.

עבור המחרוזת מילולית, המספר השלם צריך להיות גבוה אחד לפחות ממספר התווים במחרוזת. הסיבה לכך היא שתו האפס ( 0) תמיד מתווסף על ידי המהדר, בסוף מערך שהוא מחרוזת, המופרד במרכאות כפולות. התו null אינו נוסף בסוף המערך השני למעלה, מכיוון שהוא אינו מחרוזת רשמית. המערך השלישי הוא מחרוזת רשמית. הקוד הבא מציג את ערכי המנוי המינימליים.

intarr[5] = {3, 4, 5, 6, 7};
לְהַשְׁחִירעמ[5] = {'ב', 'אוֹ', 'M', 'ל', 'n'};
לְהַשְׁחִירstri[6] = 'אִשָׁה';

על מנת להפוך את ההגדרה השנייה למחרוזת רשמית, יש להוסיף את התו null כדלקמן:

intarr[5] = {3, 4, 5, 6, 7};
לְהַשְׁחִירעמ[6] = {'ב', 'אוֹ', 'M', 'ל', 'n', ' 0'};
לְהַשְׁחִירstri[6] = 'אִשָׁה';

הפלט אמור להיות כעת,

9
נשים
נשים

בלי הנשים השניות. שים לב שהמנוי המתאים למערך השני הוא 6, ולא 5 כפי שהיה.

ערכים מילוליים קבועים

כדי לעצור כל תו במרכאות הכפולות שהוקצו למזהה מלשנות אותו, בהמשך התוכנית, הקדם להגדרה את המילה השמורה, const, כדלקמן:

קבוע לְהַשְׁחִירזהות[] = 'אני אוהב אותך';

פעולות עם ספרות מחרוזת

פעולות שוויון

מפעילי השוויון הם == ו! =. כאשר משווים משתנים (מזהים) של שני מחרוזות, הצבעים (כתובות) של המילוליות הם שבסופו של דבר מושווים; זה שגוי. כדי להשוות מחרוזות, יש להשוות את המלים, כמו בקוד הבא:

תוצאה של בול= 'אִשָׁה' == 'אִשָׁה';
עֲלוּת<<תוֹצָאָה<< ' n';

הפלט הוא 1 עבור true. ההשוואה נעשית באופן המילוני, אך כאשר מספרים מגיעים ראשונים בסדר עולה, לפני אותיות גדולות, המגיעות לפני אותיות קטנות. הפלט של הקוד הבא הוא 0, עבור false.

תוצאה של בול= 'אִשָׁה' ! = 'אִשָׁה';
עֲלוּת<<תוֹצָאָה<< ' n';

מפעילים יחסיים עם ספרות מחרוזת

אופרטורים יחסיים אינם עובדים עם מחרוזות מילוליות.

מחרוזת גולמית מילולית

מחרוזת גולמית ממש, מאפשרת להציג מחרוזת כהקלדה, תוך התעלמות מרצפי בריחה וכבוד לשורות חדשות. שקול את הקוד הבא:

לְהַשְׁחִירעמ[] =ר'(א ב ג\d efg הוא
klmn n'
'opq
ראשון) ';
עֲלוּת<< str << '
n';

הפלט הוא:

abc \ d efg הוא
klmn n'' opq
ראשון

בקוד, המחרוזת הגולמית מתחילה ב- R, ואחריה ו- (. היא מסתיימת ב-) ו-.

C ++ סוגי מחרוזות עיקריות

לְהַשְׁחִיר

סוג הצ'אר הוא סוג C ++ המקורי ובדרך כלל ישמור תו ב -8 סיביות.

char16_t

זה מאחסן תו ב -16 סיביות.

char32_t

זה מאחסן תו ב -32 סיביות.

wchar_t

char16_t ו- char32_t הם תווים רחבים. wchar_t הוא תו רחב שהוא קנייני ומוגדר יישום.

סיכום

תו מילולי הוא תו יחיד במרכאות בודדות. רצף בריחה הוא דמות שיכולה להיות גם במרכאות בודדות. מחרוזת מילולית היא רצף תווים במרכאות כפולות. מחרוזת מילולית היא מערך תווים המסתיים ב- 0. מפעילי השוויון וההתייחסות עובדים עם מילולי תווים. מפעילי השוויון עובדים עם מילולי מחרוזות, אך המפעילים היחסיים אינם עובדים עם מילולי מחרוזת. ניתן להשתמש במזהי תווים בהשוואות, אך אין להשתמש במזהי מחרוזות בהשוואות. מחרוזת גולמית ממש מאפשרת להציג מחרוזת כהקלדה, תוך התעלמות מרצפי הבריחה וכבוד לשורות חדשות.

כריס