עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

שינוי שם בקבצי TXT בשפת C

Featured Replies

פורסם

שלום רב!

יש לי פונקציה


void update(char *name,FILE *fp){
.
.
.
}

כאשר

name

מקבל מחרוזת מהפונקציה הראשית המכילה את שם הקובץ

הפונקציה פותחת את הקובץ


general=fopen(name,"r")

אני מעביר את מה שאני צריך להעביר ולסדר מ2 קבצים שברשותי לקובץ חדש


temp=fopen("Tempfile.txt","w")


אך הבקשה בשאלה הייתה שבסופו של דבר השם

Tempfile

יחזור להיות לשם שנמצא ב

name

אך כשאני עושה את הפקודה שלמדנו



rename(general,temp);

זה לא משנה דבר והקבצים

נשארים בשמם...

מה עלי לעשות בכדי שהשם ישתנה?

תודה רבה!

פורסם

הפונקציה rename מקבלת שמות של הקבצים (כמחרוזות), ולא את הקבצים עצמם.

פורסם
  • מחבר

תודה רבה על התשובה המהירה,

אשמח לדוגמא איך אוכל לעשות זאת במקרה שלי...

הרי גנרל מצביע על ניים

וטמפ' מצביע על טמפייל.

וכמובן שגם גנרל וגם טמפ' הם מסוג FILE

פורסם

rename("Tempfile.txt", name);

שים לב שאתה צריך לעשות את זה כששני הקבצים סגורים, כלומר אם עשית לקובץ fopen אז צריך לעשות לו fclose.

פורסם
  • מחבר

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


fclose(general);
fclose(temp);
rename("Tempfile.txt", name);

וזה עדיין מייצר את הקובץ כמו שצריך, אך לא משנה את שמו.

מדוע?

תודה רבה![br]פורסם בתאריך: 12.05.2010 בשעה 23:01:07


טוב, גיליתי את הבעיה,

בגלל שקובץ הgeneral נמצא בתיקייה, אז אני לא יכול לשנות את הקובץ השני לאותו שם


fclose(general);
fclose(temp);
remove(filename);
rename("Tempfile.txt", "General.txt");

תודה רבה על העזרה המבורכת!

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.