לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #8  
ישן 15-09-2005, 17:25
צלמית המשתמש של scripter
  scripter scripter אינו מחובר  
 
חבר מתאריך: 04.08.02
הודעות: 4,468
sorry for posting in english...
בתגובה להודעה מספר 6 שנכתבה על ידי bazooka joe שמתחילה ב "אני הבנתי מה רצית לעשות..."

he doesn't need strcpy.. and it wouldn't work anyway, you've created a string with a pre-specified size allocated automatically by the compiler (in your example), so trying to copy something there or even concatenate, would result to writing into a memory which you don't own.

A C++ solution would be to use STL String.

If he does want to get dirty, he can allocate an amount of size, input a string, if there is enough space to concatenate ".txt" do so, else, use realloc() and get yourself more space.

Now, the easiest solution would be to create a buffer big enough to hold the user input + ".txt", but you can never trust the user


char sFileName[BUFSIZ];
char *p;
FILE *fp;

fgets( sFileName, sizeof( sFileName ), stdin );
p = strrchr( sFileName, '\n' );
if( p ) *p = '\0';

strcat( sFileName, ".txt" );
fp = fopen( sFileName, "w" );
if( fp == NULL ) {
//do error handling here
}

Sorry for posting in english and not using CODE tags..
Itzik
_____________________________________
C pogrammers never die. They are just cast into void.


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #17  
ישן 16-09-2005, 19:46
צלמית המשתמש של shasho
  shasho shasho אינו מחובר  
 
חבר מתאריך: 15.03.05
הודעות: 204
אין בעיה..
בתגובה להודעה מספר 16 שנכתבה על ידי scripter שמתחילה ב "...."

יש לי משתנה מסוג char שם המשתנה letter אני פשוט רוצה שהערך של המשתנה יהיה e זאת אומרת שאם נגיד אני יכתוב את הסקריפט הבא:




קוד:
main() { char letter[64]; letter = e; cout << letter;




בcout יופיע לו e
אני חושב שזאת שאלה ממש בסיסית אבל שכחתי לגמרי איך עושים את זה...
נ.ב
אני לא צריך שהערך יהיה קבוע אני פשוט צריך לדעת איך אפשר לשנות אותו אני צריך גם איך משנים את סוג המשתנה char ואת סוג המשתנה int אם לא הבנת אני מתכוון למשהו כזה (הסקריפט לא נכון אני רוצה שתבין למה אני מתכוון):



קוד PHP:
 int som == 5

כמו בדוגמא הזאתי הערך של המשתנה הוא 5 ואני מדגיש אפשר לשנות אותו משום מה זה לא עובד לי בכל מקרה אני צריך שיהיה אפשר לשנות את המשתנה לדוגמא אני צריך שבתחילת הסקריפט הערך יהיה 5 ואחר כך הערך יהיה 7 ואותו דבר אם char בהתחלה אני צריך שהערך של המשתנה יהיה e ובאמצע הסקריפט שהערך יהיה haa (סתם דוגמא)

נ.ב 2
אם עדיין לא הבנת תשאיר הודעה...

נ.ב 3
תודה
_____________________________________
Your signature did not follow Fresh's signatures policy, therefore it was automatically erased. Please see the E-Mail which has been sent to you, to learn how to fix this.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 20:11

הדף נוצר ב 0.08 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר