לשרת

USTR (ספריית מחרוזת מיקרו) היא API מחרוזת עבור C.
הורד עכשיו

לשרת דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • MIT/X Consortium Lic...
  • מחיר:
  • FREE
  • שם המפרסם:
  • James Antill
  • אתר האינטרנט של המוציא לאור:
  • http://www.and.org/ustr/

לשרת תגים


לשרת תיאור

USTR (ספריית מחרוזת מיקרו) הוא ה- API מחרוזת עבור ג USTR (ספריית מחרוזת מיקרו) הוא ה- API מחרוזת עבור לפני ג כמה שנים כתבתי API מחרוזת נרחב מאוד עבור C, הנקרא Vstr, היא תוכננה לבצע טוב מאוד עבור IO כמו דפוסי כפי שהיה השימוש המתוכנן שלי (עבור מופע-httpd, שרת האינטרנט שלי). זה עובד טוב מאוד, בשביל זה usage.Also בשל extensivness של API בעצם השתמשתי בו בכל מקום, למרות שיש כמה דברים שהוא קצת "מוגזם" עבור, ורציתי שאנשים אחרים להשתמש בו אז אני לא צריך לפנות באמצעות string.h בעת יצירת טלאים עבור הקוד שלהם. אולם יותר מכמה מתכנתי C אני מדבר שיהיה אחד כמה סיבות מדוע הם לא רוצים להשתמש Vstr. ה- API USTR צריך לפתור את כל הבעיות הללו, ואנו מקווים למלא את כל הפערים שבו Vstr הוא דוגמה מובהקת 500lb hammer.A השימוש, עם הערות: USTR * S1 = USTR ( ""); / * == "", תמיד עובד * / USTR * s2 = ustr_dup (S1); / * == "", תמיד עובד * / USTR * S3 = ustr_dup_cstr ( ""); / * == "", תמיד עובד * / ustr_cmp_eq (S1, S2); / * == TRUE * / ustr_cmp_eq (S1, S3); / * == TRUE * / אם (ustr_shared (S2)) / * זה נכון, בתור קבוע / לקריאה בלבד מחרוזת לא ניתן free'd * / / * מה * /; אם (ustr_ro (S2)) / * זה נכון * / / * מה * /; (! ustr_add_fmt (S2, "% s% d% c% d", "x", 4, 0, 8)) אם / * שגיאה * /; אם (ustr_owner ( S1)) / * זה יחזיר FALSE, כמו אף אחד לא מחזיק את המחרוזת "" לקריאה בלבד * / / * מה * /; אם (ustr_owner (S2)) / * זה יחזיר אמת בטענה כאילו עכשיו יש להקצות זיכרון עבור S2 * / / * מה * /; foo_API (ustr_cstr (S1), ustr_len (S1)); / * == "", 0 * / foo_API (ustr_cstr (S2), ustr_len (S2)); / * == "x 4008", 6 * / s3 = ustr_dup (S2); / * לא צריך בחינם S3 כמו שזה ריק * / / * לא צריך לבדוק שגיאות כמו S2 == S3 * / אם (ustr_owner (S2)) / * זה עכשיו תחזיר FALSE, יש לנו שתי הפניות: S2 ו- S3 * / / * מה * /; אם (ustr_shared (S2)) / * זה שקר, זה מחרוזת משותפת אי הפניה הן S2 ו- S3 * / / * מה * /; ustr_free (S2 ); / * Free'd התייחסות אחת הנתונים הצביעה על ידי שני S2 ו- S3 * / ustr_set_share (S2); / * הפוך S2 / S3 "משותף" נתונים, כך שזה תמיד יש אזכור אינסופי * / אם (ustr_shared (S2)) / * זה נכון * / / * מה * /; אם (ustr_ro (S2)) / * זהו FALSE * / / * מה * /; S3 = ustr_dup (S2); / * זה זהה S3 = S2; * / Ustr_free (S2); / * אלה לא לעשות כלום * / ustr_free (S2); ustr_free (S2); ustr_free (S2); (! Ustr_add_cstr (S3, "ABCD")) אם / * שגיאה * /; ustr_add_cstr (S3, "1234"); ustr_add_cstr (S3, "XYZ"); אם (ustr_enomem (S3)) / * בדיקת שגיאות על 2 ustr_add_cstr האחרון () פונקציות בו זמנית ustr_owner (x) צריך להיות נכון גם לגבי זה להיות אמין, ומכאן הצ'ק הראשון מפורשת * / / * שגיאה * /; ustr_set_owner (S2); / * הפוך S2 להיות "לא-משותף" ויש בעלים יחידים * / ustr_set_owner (S1); / * זה נכשל, כפי שאתה לא יכול לעשות מחרוזת לקריאה בלבד להיות "לא-משותף" * / ustr_sc_del (S2); / * Free'd S2 ו סט S2 = USTR ( "") * / ustr_cmp_eq (S1, S2); / * == TRUE * / S2 = USTR1 (x0b, "שלום עולם"); / * מחרוזת קבועה עם נתונים * / אם (ustr_shared (S2)) / * זה נכון * / / * מה * /; אם (ustr_ro (S2)) / * זה נכון * / / * מה * /; / * לא צריך שום דבר "חינם" אחר * / מה חדש במהדורה זו:. · גרסה זו מוסיפה פונקציות לקצץ, תמיכה רב-lib, תמיכה החלפת שיחות מערכת vsnprintf, ודוגמא linecat · זה לא ימחק בגודל USTR של אלא אם יש צורך.


לשרת תוכנה קשורה

SX360.

SX360 הוא קוד פתוח C + + הספרייה להתמודדות עם פורמט בינארי של 360 עמודה. ...

150

הורד

פאזל

ספריית פאזל היא ספריה C המורכב מאיסוף של אובייקטים מתמשכים. ...

71

הורד