איך אפשר למצוא גודל של מחרוזת הכוללת רווחים בשפת C? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

איך אפשר למצוא גודל של מחרוזת הכוללת רווחים בשפת C?


TheSlider

Recommended Posts

היי חברים!

יש לי תכנית שאני צריך לבנות.

איך אני יכול למצוא מה גודל המחרוזת הכולל רווחים?

הפונקציה

strlen(str)

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

איך אני מוצא את אורך כל המשפט?

תודה רבה!

קישור לתוכן
שתף באתרים אחרים

strlen סופרת את כל אורך המחרוזת כולל רווחים עד התו null .

אם זה היה כך חיי היו הרבה יותר פשוטים.

זה תופס עד לרווח הראשון. דוגמה:

hello world

strlen יחזיר שאורך המחרוזת היא 5 כאורך המילה hello.

קישור לתוכן
שתף באתרים אחרים

אם זה היה כך חיי היו הרבה יותר פשוטים.

זה תופס עד לרווח הראשון. דוגמה:

hello world

strlen יחזיר שאורך המחרוזת היא 5 כאורך המילה hello.

זה פשוט לא נכון.

אתה בטוח שלא עשית משהו כזה?

char str[100];
scanf("%s", str);
printf("%d", strlen(str));

אם כן, אז מה שקרא הוא שהמחרוזת נקראה רק עד הרווח הראשון, כלומר אם המשתמש הכניס "hello world" אז ה-scanf תקרא רק את ה-hello.

קישור לתוכן
שתף באתרים אחרים

אופס כנראה שלא הבנתי כתבתי פונקציה שמדפיסה אורך של כל מילה :kopfpatsch:


#include <stdio.h>
#include <string.h>
char * ptr;
char * lastptr;
char str[]="hello world my name is niseg"
lastptr=str;
while ((ptr=strtok(str,' ')))
{
printf("%d \n ", ((unsigned long)ptr)-(unsigned long)lastptr) );
lastptr=ptr;
}

תבדוק כאן http://www.cplusplus.com/reference/clibrary/cstring/strtok/

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...