اخبار char

برنامه نویسی به سبک پترس

... قطعه کد زیر را در نظر بگیرید: void overflow_function (char *str){ char buffer[10]; strcpy(buffer, str); } int main(){ char big_string[14]; strcpy(big_string,"bufferoverflow"); overflow_function(big_string); return 0; } از لحاظ قواعد گرامری این قطعه کد درست است و باید بدون اشکال کار کند اما در زمان اجرا، خطای در حال اجرا صادر خواهد شد با این مضمون: stack around the variable ‘buffer’ was corrupted بسیار خب، این خطا به ما می گوید که متغیر بافر خراب شده است ... کد بازنویسی شده به صورت زیر خواهد بود: void overflow_function (char *str){ char buffer[10]; strncpy(buffer, str,10); } int main(){ char big_string[14]; strncpy(big_string,"bufferoverflow",14); overflow_function(big_string); return 0; } امیربهاالدین سبط الشیخ ...  

منبع : جام جم آنلاین    تاریخ : 18   بهمن   1388   شاخه : برنامه نویسی   

قالب گیری دیجیتال

... فرض می کنیم که طول خط ورودی از سمت کاربر داخل متغیر length قرار گرفته باشد، ابتدا یک تابع به نام substr معرفی می کنیم، شکل کلی این تابع به صورت زیر است: int substr(char dest[], char src[], int position); این تابع متن src را بصورت بلاک هایی به اندازه length در dest قرار می دهد و اندیس آخرین عنصری که از src در dest قرار داده شده است را به علاوه 1 می کند و به عنوان خروجی برمی گرداند ...  

منبع : جام جم آنلاین    تاریخ : 13   دی   1388   شاخه : ترفندها   

بازی بزرگان

... اعداد را به این صورت از کاربر دریافت می کنیم: char num1[1000],num2[1000]; std::cout «« "enter first number : " «« std::endl; std::cin »» num1; std::cout «« "enter second number : " «« std::endl; std::cin »» num2; به این نکته توجه داشته باشید که این جا اعداد ما 1000رقمی هستند و میزان حافظه اشغالی برای آن ها با کوچک تر شدن شان تغییری نمی کند، ما می توانیم با تعریف اعداد به صورت اشاره گر برای آن ها حافظه داینامیک در نظر بگیریم و هر عدد بتواند هر تعداد رقمی را که خواست داشته باشد ...  

منبع : جام جم آنلاین    تاریخ : 1   آذر   1388   شاخه : برنامه نویسی   

تونلی به دنیای قدیم

... قدم نخست برای راه اندازی یک خط فرمان، تولید کلاسی پایه به صورت زیر است: class basecommand { public : basecommand(int argc,char** argv); basecommand(); virtual void execute(); virtual bool contain(const char* arg); virtual void printhelp(); private : int argc; char** argv; { این کلاس چیست و چه کاری قرار است انجام دهد؟ این کلاس تمامی متدها و فیلدهای مورد نیاز برای اجرا و نگهداری هر دستور را در خود دارد، و به عبارت بهتر یک شی از یک دستور است ... در ضمن طراحی یکپارچه ای خواهیم داشت، بدین ترتیب کلاس file را برای کار با فایل ها را به صورت زیر می نویسیم: class file{ const static int buf_size = 4096; public: static void copy(char* source,char* destination); static void move(char* source,char* destination); static void delete(char* filename); static void rename(char* oldname,char* newname); static bool exist(char* filename); static void create(char* filename,bool overwrite); }; نیازی به توضیح در مورد متدهای کلاس نیست، بسیار خوب پس پیاده سازی متد execute از کلاس مربوط به دستور copy به صورت زیر خواهد شد: void execute(){ if(this-»contain("/x") || this-»contain("/x")){ file::move(this-»argv[1],this-»argv[2]); } else file::copy(this-»argv[1],this-»argv[2]); } حالا که موفق شدیم کلاس مربوط به copy را پیاده کنیم، به بررسی کلاس دیگری می پردازیم ... این کلاس بصورت زیر تعریف شده است : class utility{ public : utility(char* command); utility(); void run(); private : char* command; char** argv; int argc; basecommand* internalecommand; void parse(); void createcommand(); {; این کلاس شامل 3 فیلد است یکی argv ودیگری argc که قبلا درمورد آنها و کاربردشان صحبت کرده ایم ...  

منبع : جام جم آنلاین    تاریخ : 10   آبان   1388   شاخه : برنامه نویسی   

برنامه ها از کجا آغاز می شوند؟

... روش کار در زبان c و c++ مانند زبان c# است، اما با تفاوت هایی که آن هم به خاطر ماهیت زبان برنامه نویسی است، که به صورت زیر تعریف می شود: int main(void)int main(int argc, char *argv[])تابع main می تواند مقداری را برنگرداند، مقدار argv شامل نام برنامه است به همین خاطر همیشه مقدار argc برابر 1 است ... در نگارشی از زبان c که در سیستم عامل apple استفاده می شود، تعریف این متد به صورت زیر است: int main(int argc, char *argv[], char *envp[])همان طور که مشاهده می کنید، تفاوت هایی بین فراخوانی تابع main در یک زبان و پلتفورم متفاوت، وجود دارد ...  

منبع : جام جم آنلاین    تاریخ : 25   مرداد   1388   شاخه : برنامه نویسی   

حقه های برنامه نویسی

... کد زیر را در نظر بگیرید: ];10unsinged char input_buffer[ unsigned char i; ; i++) {10; i ...  

منبع : جام جم آنلاین    تاریخ : 1   تیر   1388   شاخه : برنامه نویسی   

تجمع قدرت در یک زبان

... به عنوان مثال نوع داده ایint مشخص کننده داده عددی صحیح، float داده عددی اعشاری، double داده عددی اعشاری بزرگ، char داده کاراکتری وbool داده دو مقداری درست یا غلط است ... به عنوان مثال در ++c ، متغیری از نوع داده ای char یک بایت از حافظه را برای ذخیره یک کاراکتر رزرو می کند و یا متغیری از نوع int ، بسته به نوع کامپایلر 2 یا 4 بایت از حافظه را برای نگهداری یک عدد صحیح رزرو می کند ...  

منبع : بازیاب    تاریخ : 22   شهریور   1387   شاخه : برنامه نویسی   

توکیو قطب بازی های ویدئویی شد

... بد نیست بدانید شخصیت های بازی های ویدئویی ژاپنی در این کشور آن قدر جذابیت دارند که حتی دایسو که انوموتو- سرمایه دار مشهور ژاپنی که قرار بود به جای انوشه انصاری به فضا سفر کند ولی به علت مشکلات پزشکی از این کار بازماند- اعلام کرده بود به هنگام سفر لباس یک شخصیت کارتونی به نام char aznable را به تن می کند ...  


آموزش دلفی (بخش ششم)

... 4096] of char; NumRead: integer; FileLength: longint; begin AssignFile(FromF, source); reset(FromF); AssignFile(ToF, DESTINATION); rewrite(ToF); FileLength := FileSize(FromF); with ProgressBar1 do begin Min := 0; Max := FileLength; while FileLength > 0 do begin BlockRead(FromF, Buffer[0], SizeOf(Buffer), NumRead); FileLength := FileLength - NumRead; BlockWrite(ToF, Buffer[0], NumRead); Position := Position + NumRead; end; CloseFile(FromF); CloseFile(ToF); end; end; ...  


آموزش VB.NET (بخش دوم)

... Boolean: درست یا نادرستByte: برای داده های عددی 0 تا 255char: برای یک کاراکتر یونیکدDate: اطلاعات تاریخ و زمانDecimal: اطلاعات عددی صحیحDouble: داده های عددی اعشاریInteger, LONG, Short, Single: داده های عددی صحیحObject: متغیر حامل پیش فرض جهت نگهداری هر نوع شئString: رشته های حرفیدر نگارشهای قبلی ویژوال بیسیک و در VBScript همه متغیرها بطور پیش فرض از نوع داده variant بودند ...  

 
صفحه 1
2
امروز 24 اسفند ماه 1388

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player