• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

چند سؤال فوري از c++

bestirani2

Registered User
تاریخ عضویت
12 ژانویه 2007
نوشته‌ها
590
لایک‌ها
82
چند تا سؤال كوچك در مورد c++ داشتم؟
1.كاركترهاي تبديلي n و a را در printf و scanf با مثال توضيح دهيد همچنين فرق i و d را هم بگيد.
2.يك توضيحي در مورد نحوه عملكرد دستور زير مي‌خواهم،براي چي تو هر جا يك مقدار متفاوت مي‌دهد.
توي turbo c++ 4.5
int a = 10;
printf("%d%d%d%d",++a,a,a++,a); \\ output:12111010
توي vc++ 6:
int a = 10;
printf("%d%d%d%d",++a,a,a++,a); \\ output:11101010
توي vc++ 2008:
int a = 10;
printf("%d%d%d%d",++a,a,a++,a); \\ output:12121012
توي php:
$a = 10;
printf("%d%d%d%d",++$a,$a,$a++,$a); \\ output:11111112
3.اگه بخواهم يك تابع را به نوعي گرانبار كنم كه هر آرگومان آن بتواند نوع مختلفي باشد چه بايد كرد مثلاً در كد زير:
template <class t>
t function(t val1, t val2)
{
return val1+val2;
}
آرگومان هاي ورودي به طور مثال يا هر دو بايد char باشيد يا هر دو int.حال اگه بخواهم يك int و يك char باشيد بايد چكار كنم.
4.فرق تبديل يك نوع داده به صورت static_cast با روش c در c++ چيه؟
5.در صورتي كه پيش پردازنده اي را include كنيم ولي از توابع آن استفاده نكنيم،روي رم تاثير مي‌گذارد.
 

NdR

Registered User
تاریخ عضویت
10 مارس 2004
نوشته‌ها
86
لایک‌ها
0
1. i و d فرقی با هم ندارند. i از integer و d از decimal گرفته شده.
2. ترتیبش در استاندارد C مشخص نشده و واگذار شده به سازندگان کامپایلر که همونطور که می بینی
هر کدوم بنا به سلیقشون عمل کردن. در این موارد باید طوری کد رو نوشت که وابسته به ترتیب اجرا نباشه.
3.
کد:
#include <iostream>

template<class T1, class T2>
T2 foobar(T1 a1, T2 a2)
{
    return a1 + a2;
}

int main()
{
    std::cout << foobar<int, char>(1, 'c') << '\n';
}
4. در C فقط یک نوع cast داریم که در ++C تبدیل شده به سه نوع. (البته یک نوع دیگه cast هم در ++C هست)
در ++C توصیه شده در صورتی که امکان داره از cast استفاده نشه و اگه استفاده شد از روش ++C
استفاده بشه تا در کد برنامه راحت بشه پیداشون کرد نوعش هم برای برنامه نویس مشخص باشه.
5. ربطی به رم هنگام اجرای برنامه نداره. تمام دستورات پیش پردازنده قبل از شروع کامپایل بررسی میشن.​
 
Last edited:

یاسمن

کاربر تازه وارد
تاریخ عضویت
21 ژانویه 2012
نوشته‌ها
1
لایک‌ها
0
سلام من برنامه ای به زبان سی پلاس پلاس برای خواندن از فایل بدون حذف فضاهای خالی بین کلمات می خواهم خیلی عجله دارم . لطفا کمکم کنید . باتشکر
 

Datis0

Registered User
تاریخ عضویت
7 ژوئن 2007
نوشته‌ها
497
لایک‌ها
42
محل سکونت
Esfahan
سلام من برنامه ای به زبان سی پلاس پلاس برای خواندن از فایل بدون حذف فضاهای خالی بین کلمات می خواهم خیلی عجله دارم . لطفا کمکم کنید . باتشکر

باید فایل رو باز کنی حجمش رو پیدا کنی بعد بخونی
تو این مایه ها می شه
سینتکس رو مطمئن نیستم

کد:
[...]

FILE *filePointer;
long len;
char *buf;
filePointer=fopen("YourFileAddress","rb");
fseek(filePointer,0,SEEK_END); 
len=ftell(filePointer); 
fseek(filePointer,0,SEEK_SET); 
buf=(char *)malloc(len); 
fread(buf,len,1,filePointer);
fclose(filePointer);

[...]
 
بالا