PDA

View Full Version : ذخیره سازی فایل بدون اعمال format string



_test_
سه شنبه 07 آذر 1391, 13:24 عصر
سلام

void wl (char* buff[],char lp[],char mt[])
{
FILE *fp;
fp=fopen(lp, mt);

fprintf(fp, buff);
fclose (fp);
}

فرض کنیم یه همچین تابعی داریم که میاد متن و آدرس فایل و متد سیو کردن رو میگیره و با fprintf مینویستش ...

wl("asd","d:\\aaaa.txt","a");

که اینجوری صدا زده میشه ..
اگر جای asd مثلا بزاریم as%sd تو فایل asHÿ(d سیو میشه (قسمت bold شده به احتمال زیاد برای شما فرق کنه) یا بزاریم%g تو فایل as1.78887e-307d ....

اگر بخوایم این فرمت استرینگ اعمال نشه , باید از چه تابعی و چطوری استفاده کرد ؟ :ناراحت:

ممنون , بای

_test_
سه شنبه 07 آذر 1391, 21:16 عصر
چرا کسی جواب نمیده ؟ :(

مسعود اقدسی فام
سه شنبه 07 آذر 1391, 21:47 عصر
"as\%sd"




امتحان کن. یه \ بذار قبل از %. من الان امکان تست ندارم.

_test_
سه شنبه 07 آذر 1391, 22:42 عصر
مرسی مسعود جان ... اون ورودیه .... دست من نیست , اگر میتونستم ریپلیس کنم برای escape کردن درصد باید % رو با %% عوض میکردم که کد ریپلیس پیدا کردم ... ولی تو اونم % میزاشتم کار نمیکرد !

راهشو پیدا کردم ...
باید تو تابع wl این تغییر رو بدم ....

void wl (char* buff[],char lp[],char mt[])
{
FILE *fp;
fp=fopen(lp, mt);

fprintf(fp, "%s", buff);
fclose (fp);
}

مسعود اقدسی فام
سه شنبه 07 آذر 1391, 22:45 عصر
آره درسته. اینطوری هم می‌شد انجامش داد. من خیلی وقته با توابع فایل c و مشکلاتش دست و پنجه نرم نکردم. کم کم فراموش می‌شن.