Hitno!Zadatak u C -pomoć

ingoz

Početnik
Poruka
1
Kako da pokrenem program?????Šta napisati u komandnoj liniji?
#include <dir.h>
#include <dos.h>
#include <conio.h>
#include <string.h>

void psplit (char *path, char *name)
{
int pl,i,wild;
struct ffblk *dff;
dff = 0x00ff; /* inicijalizacija pointera */
*name = 0;
wild = 0;

i = pl = strlen (path) - 1;
while (i >= 0 && path != '\\' && path != ':')
{
if (path == '*' || path =='\?') wild = 1;
--i;
}
if (i == pl) return;
if (!wild)
{
if (!findfirst(path,dff,FA_DIREC))
{
strcat(*path,'\\');
return;
}
}
++i;
strcpy (name, path + i);
path = 0;
} /* end psplit */

char *pshort (char *path)
{
int i,j,c;
char *p;
p = path;
i = j = path[1] == ':' ? p += 2, 1 : -1;
while (c = *p++)
if (c == '\\' && *p == '.')
{
++p;
if (*p == '.')
{
++p;
while (i > j && (c = path[i--]) != '\\' && c != ':');
}
} else
path[++i] = c;
path[++i] = 0;
return (path);
} /* end pshort */

char *preal (char *path)
{
int cd,pd,d;
d = strlen (path);
if (d && path[d-1] == '\\') path[d-1] = 0;

cd = getdisk ();
if (path[1] == ':')
pd = path[0] & 0xf;
else
pd = cd;
if (cd != pd)
setdisk (pd);
/* chdir (path); */
getcwd (path,64);
if (cd != pd)
setdisk (cd);
return (path);
}

main (int argc, char *argv[]) /* procitaj komandnu liniju */
{
char path [80];
char name [80];
if (argc > 1)
{
strcpy (path, argv[1]); /* sa cmd_linije prepisi u path */
psplit (path, name);
printf ("Path='%s'\nName='%s'\n",path,name);
printf ("Path='%s'\n",pshort(path));
printf ("Path='%s'\n",preal(path));
}

else
printf ("Unesi path na komandnu liniju\nZbogom!\n");
}



 
definitivno.
doduse nisam neki strucnjak za ovo tako da svejedno ne bi mogao da pomognem.

ljudi bre....Napredni mod za slanje postova nije dzabe napravljen. Idi sad lepo tamo, izmeni poruku, sve to prebaci lepo u courier new, i ubaci uvlacenje redova, pa da vidimo sta je ;)
 
ingoz:
Kako da pokrenem program?????Šta napisati u komandnoj liniji?
#include <dir.h>
#include <dos.h>
#include <conio.h>
#include <string.h>

void psplit (char *path, char *name)
{
int pl,i,wild;
struct ffblk *dff;
dff = 0x00ff; /* inicijalizacija pointera */
*name = 0;
wild = 0;

i = pl = strlen (path) - 1;
while (i >= 0 && path != '\\' && path != ':')
{
if (path == '*' || path =='\?') wild = 1;
--i;
}
if (i == pl) return;
if (!wild)
{
if (!findfirst(path,dff,FA_DIREC))
{
strcat(*path,'\\');
return;
}
}
++i;
strcpy (name, path + i);
path = 0;
} /* end psplit */

char *pshort (char *path)
{
int i,j,c;
char *p;
p = path;
i = j = path[1] == ':' ? p += 2, 1 : -1;
while (c = *p++)
if (c == '\\' && *p == '.')
{
++p;
if (*p == '.')
{
++p;
while (i > j && (c = path[i--]) != '\\' && c != ':');
}
} else
path[++i] = c;
path[++i] = 0;
return (path);
} /* end pshort */

char *preal (char *path)
{
int cd,pd,d;
d = strlen (path);
if (d && path[d-1] == '\\') path[d-1] = 0;

cd = getdisk ();
if (path[1] == ':')
pd = path[0] & 0xf;
else
pd = cd;
if (cd != pd)
setdisk (pd);
/* chdir (path); */
getcwd (path,64);
if (cd != pd)
setdisk (cd);
return (path);
}

main (int argc, char *argv[]) /* procitaj komandnu liniju */
{
char path [80];
char name [80];
if (argc > 1)
{
strcpy (path, argv[1]); /* sa cmd_linije prepisi u path */
psplit (path, name);
printf ("Path='%s'\nName='%s'\n",path,name);
printf ("Path='%s'\n",pshort(path));
printf ("Path='%s'\n",preal(path));
}

else
printf ("Unesi path na komandnu liniju\nZbogom!\n");
}




da ne ulazimo u to sta ovo radi, pokrece se tako sto kompajliras, i pokrenes sa :
ime_programa paramerar1 enter
gde je parametar1 argv[1]
 

Back
Top