כיצד לקרוא מחרוזת ב-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.
אַזהָרָה
אל תנסה להדר את הקוד הזה. זה נועד רק להדגים את הפונקציות. זו לא תוכנית קוהרנטית והיא תיתן שגיאות בעת הידור.