PDA

View Full Version : سوال درمورد C



Buggsbunny
جمعه 22 خرداد 1383, 14:12 عصر
سلام
من تازه کارم و تازه یکی 2 ماهی میشه که با C برنامه مینویسم
این برنامه رو نوشتم کارشم اینه که یه سری کاراکتر از ورودی می خونه و توی یه فایل متنی قرار میده بعد داده ها رو می خونه و توی یه فایل دیگه کپی می کنه آخرین کارکتر متن هم با $ مشخص می شه!
ولی وقتی برنامه رو اجرا میکنم داده ها رو که وارد می کنم و $ رو می زنم error زیر رو میده:

Thread stopped
E:\BC5\bin\NONAME00.exe
: fault access violation at 0*401146
: write of address 0*8
یعنی چی و چه کارکنم درست شه؟
در ضمن با Borland C++ Ver 5.02 نوشتم





void main()
{
FILE *in,*out;
char ch;
in=fopen("c:\test.dat","w");
do
{
ch=getchar();
putc(ch,in);
} while(ch!= '$');
fclose(in);
out=fopen("c:\outfile.dat","W");
in=fopen("c:\test.dat","r");
ch=getc(in);
while(ch!=EOF)
{
putc(ch,out);
ch=getc(in);
}
}

Anti_Evil
شنبه 23 خرداد 1383, 00:22 صبح
در نگاهی اجمالی مشکل خاصی ندیدم ( پیاده سازی O.K بود )
تنها موردی که دیدم اشتباه در نوشتن مسیرها بود ...
یادتان باشد Back Slash جزو کاراکترهای ویژه محسوب می شود و برای درج کاراکتر Back Slash در رشته های خود باید از روش اعلان کاراکترهای ویژه بهره ببرید، مانند مثال زیر:


.
.
.
fopen( "c:\\Test.txt", "w" );
.
.
.

موفق باشید،
هادی

Buggsbunny
شنبه 23 خرداد 1383, 08:19 صبح
خیلی ممنون درست شدش!!!