כיצד לקרוא מחרוזת ב-C

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

שלב 1

להבין את היסודות. מחרוזת C היא מערך מסוג תרשים. כמו בכל מערכי ה-C, האלמנט הראשון נמדד ב-0, והאחרון ב-"אורך המחרוזת מינוס 1". בדרך כלל, המהדר מוסיף NULL במיקום האחרון, כך שהמחרוזת יכולה להחזיק "אורך המחרוזת מינוס 1" אלמנטים. Null שווה ערך ל-0x00 בצורת מספר שלם ו-'\0' בצורת char. לאלמנטים גישה האופרטור "[]". שלב 2 ממחיש מושגים אלה.

סרטון היום

שלב 2

הוסף את "הנחיית כלול" למטה לכל קובץ מקור לפני השימוש בפונקציות של מדריך זה:

#include < stdio.h >

שלב 3

הכריז על מחרוזת C. הקוד שלהלן מציג הצהרה בשיטת הסטטי ובשיטת המצביע:

// הצהרה סטטית char str[50] = {0}; // דרך קיצור לאתחל את כל הרכיבים ל-0 // str[49] היא NULL // str יש קיבולת של 48 תווים // הכרזה באמצעות תווים מצביע pStr = NULL; // אין הקצאת זיכרון pStr = (char)malloc (50); // זה נעשה על ידי "malloc()"

שלב 4

קרא נתונים לתוך מחרוזת C באמצעות "scanf()," שקורא סדרה של מחרוזות המופרדות ברווח מהתקן קלט וממקם אותם בכתובות השייכות למשתני הייחוס המתאימים, לפי "פורמט חוּט":

int n; printf("הזן את השם הפרטי והגיל שלך: "); scanf("%s%d", str, &n); // printf("השם שלך הוא %s ואתה %d ישן\n", str, n);

שלב 5

הכנס נתונים למחרוזת C באמצעות הפונקציה הפשוטה יותר "gets()", שקוראת נתונים מהקלט הסטנדרטי למחרוזת בלבד:

printf("הזן את שם המשפחה שלך: "); מקבל (str); printf("השם שלך הוא %s\n", str);

שלב 6

קרא נתוני קובץ לתוך מחרוזת C באמצעות "fscanf()"; פונקציה זו מקבילה ל-"scanf()":

FILE* pFile; pFile = fopen("myFile.txt", "r"); // נניח שהקובץ קיים ויש לו נתונים if (NULL != pFile) { fscanf (pFile, "%s", str); printf("המילה הראשונה בקובץ היא %s\n", str); fclose (pFile); }

שלב 7

חזור על שלב 5 באמצעות "fgets()," אשר עובד כמו "gets()":

FILE* pFile; pFile = fopen("myFile.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("המילה הראשונה בקובץ היא %s\n", str); fclose (pFile); }

דברים שתצטרכו

  • מהדר C/C++ IDE או C

  • ספר על C, כגון "שפת התכנות C" מאת בריאן וו. קרניגאן

עֵצָה

למידע נוסף על הפונקציות שהוזכרו, בקר באתר C Plus Plus.

אַזהָרָה

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