PDA

View Full Version : main آرگومان دار



shiva_h
شنبه 07 اردیبهشت 1387, 21:18 عصر
سلم به همگی و خسته نباشید

اگه من بخوام تابع main ام آرگو مانی باشه به این شکل

main(int argc, char *argv[])


به طوری که می خوام مسیر فایل ورودی رو با آرگومان بدم چه دستوری باید بنویسو argc چی هست و مسیر رو با چه دستوری به argv بدم؟

ممنون از راهنمایی شما دوستان .

mzjahromi
شنبه 07 اردیبهشت 1387, 21:55 عصر
ببینید دوست عزیز:
argc تعداد آرگومانهای ورودی برنامه است و argv خود پارامترهای ورودی.
توجه شود که نام خود برنامه نیز به عنوان اولین پارامتر ورودی در نظر گرفته میشود. بنابر این شما اگر جلوی نام برنامه نام فایل مورد نظرتون رو بنویسید argv[1] همون نام فایل خواهد بود.

shiva_h
یک شنبه 08 اردیبهشت 1387, 07:03 صبح
مثلاً در نظر بگیرید یه قسمت از برنامه من این کد زیر هست چه جور آرگومانیش می شه .

؟؟

#include<stdio.h>
#include<string.h>
#include<fstream.h>
#include<stdlib.h>
void main (void)
{
FILE * InPutFile,* OutPutFile;
char *p_arr[100];

InPutFile=fopen ("D:\In.txt","r");
OutPutFile = fopen ("D:\Out.txt","w");
.
.
.
.
.
fclose(InPutFile);
fclose(OutPutFile);
}


ممنون از راهنماییتون

shiva_h
یک شنبه 08 اردیبهشت 1387, 07:08 صبح
در واقع می خوام مسیر فایل رو به عنوان آرگومان از ورودی بگیره

aminnr
یک شنبه 08 اردیبهشت 1387, 12:08 عصر
آرگومان های تابع main چه خصوصیاتی دارند

jalil_m
سه شنبه 11 تیر 1387, 01:32 صبح
در واقع می خوام مسیر فایل رو به عنوان آرگومان از ورودی بگیره

دوست عزيز.آرايه argv[] شامل نام برنامه + آرگمانهاي ورودي است.argc تعداد آرگمانهارو مشخص ميكنه.
اگر ميخواهين نام فايلي رو بصورت آرگمان بخونيد اين نام در آرايه argv قرار داره.
اگر برنامه شما يه آرگمان به عنوان نام فايل داره ، argv دو عنصر داره
كه argv[0] نام برنامه و argv[1] نام آرگمان اول شما (كه همون نام فايل مورد نظر شماست) مي باشد.
اميدوارم خوب توضيح داده باشم كه گيج نشده باشيد.