poczatkujacy need help !!!

0

Mam problem. Musze napisac program ktory jest uruchamiany za pomoca parametru (nazwa_programu.exe plik.txt), a nastepnie odczytuje dane z uruchomionego pliku. Moja nie działająca dobrze wersja : (NIE WIEM DOKLADNIE CO WSTAWIC W char plik[]= aby pobieralo nazwe pliku z argv[i].

#include <iostream.h>
#include <stdio.h>
#include <conio.h>

int i=1;
void main (int argc,char *argv[])

{
for (int i=1;i<argc;i++)
{
cout<<"Parametr:"<<argv[i]<<endl;
}

char plik[]=?????, tablica[256], c;
FILE *fp;

fp=fopen(plik, "rt"); // otwarcie pliku tekstowego do odczytu
if(fp==NULL) {
printf("Wystapil blad przy otwieraniu pliku %s !\n", plik);

}

if(fgets(tablica, 256, fp) == NULL) // wczytanie lini z pliku
{
printf("Wystapil blad przy odczycie z pliku %s !\n", plik);
fclose(fp);

}
printf("Odczytano: %s\n", tablica);

rewind(fp); // "przewiniecie" pliku na poczatek

printf("Cala zawartosc pliku tekstowego:\n"

     "--------------------------------\n");

while((c=fgetc(fp)) != EOF) printf("%c", c); // odczyt calego pliku znak po znaku

fclose(fp); // zamkniecie pliku

getch();
}

0

char plik[]=?????, tablica[256], c;
Przecie to jest deklaracja tablicy statycznej....
char *plik = argv[1]; jeśli już (chyba - bo nie sprawdzam)

0

w plik[]=????? chodziło mi, że nie wiem co wpisac po te te znaki ??. Ale ogolnie zadziałało dzieki. Tylko jest jeszcze mały problem bo w wersji skompilowanej znaczy juz jako exec działa spoko, ale jak biore run z kompilatra to wyskakuje blad otwarcia pliku.

0

Bo gdy bierzesz RUN z kompilatora, to raczej nie podajesz parametrów...

0

Racja dzieki.

0

A nie lepiej olać cały ten 'plik', a za to bezposrednio użyć argv[cośtam] w fopen? Co do parametrów uruchomienia jest to możliwe również pod kompilatorem. W wersji dosowej bc++ run/arguments (ver 1.01) a w bcb run/parameters.

// sorki seifer, strzeliłem byka, ale juz usunąłem

0

dorzucilem mu

if(argc>1)
{ ... }
else
{ ... }

i teraz wykonuj sie tylko jezeli jest podany parametr w przeciwnym wypadku wyslwietla napis o nie podaniu parametru

Wiem w domysle ten program ma działac dla jednego parametru

0

a tu sa madzry ludzie to mi powiedzą : czym zastąpić "delay" bo o ile wiem to nie działa mi dlatego żę biblioteki do gcc nie zawierają tej komendy !!!! pomocy

1 użytkowników online, w tym zalogowanych: 0, gości: 1