נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: String - C++‎

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
אורח
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 23 July 2006 בשעה 23:27 | IP רשוּם
ציטוט אורח

איך אני יכול להגיע לתו הראשון במשתנה מסוג string
לדוגמא
קוד:

#include <iostream>

int main(void)
{
std::string buffer="abc";
// ??
return 0;
}

איך אני יכול לשנות את a?
ואיך אני יכול להדפיס את הbuffer
cout לא עובד.. משום מה.
חזרה לתחילת העמוד הצג את כרטיס החבר של אורח חפש הודעות אחרות של אורח בקר בדף הבית של אורח
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 24 July 2006 בשעה 00:56 | IP רשוּם
ציטוט אלצ'קו

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

#include <iostream>

int main(void)
{
    std::string buffer="abc";
   
    for (int i=0; i<buffer.size(); i++)
    {
        std::cout << buffer;
    }
   
    std::cout << std::endl;
   
    return 0;
}


אבל אם אתה רוצה לכתוב קוד נורמלי, עדיף פשוט שתכתוב:
קוד:

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
    string buffer="abc";
   
    cout << buffer << endl;
   
    return 0;
}

חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
Ratinho`
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 26 July 2006 בשעה 12:16 | IP רשוּם
ציטוט Ratinho`

יש טיפוס סטרינג?
ממתי?
חזרה לתחילת העמוד הצג את כרטיס החבר של Ratinho` חפש הודעות אחרות של Ratinho` בקר בדף הבית של Ratinho`
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 26 July 2006 בשעה 14:10 | IP רשוּם
ציטוט אלצ'קו

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


הצטרף / הצטרפה: 12 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 23
נשלח בתאריך: 27 July 2006 בשעה 23:58 | IP רשוּם
ציטוט Ratinho

אז למה תמיד משתמשים (או שזה רק אני???!) במערך של char?
טוב לדעת..
vc++ תומך בטיפוס?
חזרה לתחילת העמוד הצג את כרטיס החבר של Ratinho חפש הודעות אחרות של Ratinho בקר בדף הבית של Ratinho
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 28 July 2006 בשעה 01:31 | IP רשוּם
ציטוט אלצ'קו

כי רוב האנשים שחושבים שהם כותבים קוד CPP כותבים קוד של "C עם מחלקות ותוספות מגניבות".

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


הצטרף / הצטרפה: 12 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 23
נשלח בתאריך: 30 July 2006 בשעה 20:25 | IP רשוּם
ציטוט Ratinho

סבבה, תודה רבה..
חוץ מההגדרה בהתחלה אפשר לעשות השמות רגילות? אוש בכל מקרה חייבים להשתמש בפונקציות ספריה של string.h ?
חזרה לתחילת העמוד הצג את כרטיס החבר של Ratinho חפש הודעות אחרות של Ratinho בקר בדף הבית של Ratinho
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 30 July 2006 בשעה 23:41 | IP רשוּם
ציטוט אלצ'קו

תלוי למה אתה מתכוון ב"השמות רגילות". המחלקה string (טוב נו, בעצם זה typedef של מקרה ספציפי של תבנית מזעזעת למדי בשם basic_string, אבל למי אכפת?) מגדירה את האופרטורים = (להשמה), ו + (לשרשור מחרוזות). היא גם כוללת את הפונקציה append (שמתפקדת כמו האופרטור +=).

בזכות ה-implicit conversions של CPP, אתה יכול להשתמש באופרטורים האלה גם כדי לשרשר מחרוזות תווים רגילות של C לאובייקטים האלה (כלומר משתנים מטיפוס char* ומחרוזות של ממש בקוד "כמו זאת").



מה שכן, שים לב שאתה לא נוגע ב-string.h, שזו הספריה של C, אלא משתמש ב-string, קובץ שונה לחלוטין. התקן של CPP קובע שלקבצי האינקלוד של הספריה הסטנדרטית אין סיומת h. לדוגמה: iostream, string, vector וכו'.

string.h כולל פונקציות מוכרות מ-C כמו strcat ו-strlen (ראה פירוט מלא כאן), אבל לא קשור אלינו ב-CPP.

בנוסף, שים לב שקבצי הספריה הסטנדרטית של C משנים את שמם ב-CPP. קובץ בשם file.h מהספריה הסטנדרטית של C ייקרא cfile ב-CPP - בלי סיומת h ועם התחילית c. כך math.h, time.h, ו-stdlib.h הופכים ל-cmath, ctime ו-cstdlib בהתאמה ב-CPP. באותו אופן string.h הופך ל-cstring, אבל שוב זה לא קשור אליך ב-CPP. אתה צריך להשתמש ב-string הנקי והבטוח.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
Ratinho
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 12 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 23
נשלח בתאריך: 31 July 2006 בשעה 00:04 | IP רשוּם
ציטוט Ratinho

אוקיי
תודה רבה על העשרת הידע..
חזרה לתחילת העמוד הצג את כרטיס החבר של Ratinho חפש הודעות אחרות של Ratinho בקר בדף הבית של Ratinho
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 31 July 2006 בשעה 01:19 | IP רשוּם
ציטוט אלצ'קו

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

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה