←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Inny
upuszczanie pliku na aplikacje

Zablokowany

  • +
  • -
Miczu - zdjęcie Miczu 30.04.2010

Chcę by mój program napisany w C mógł obsłużyć otwieranie pliku w taki sposób. Zna ktoś sposób by to obsłużyć?

Mogę dodać, że system operacyjny to Windows (XP).

Link do stronki gdzie to jest opisane też mile widziane, ja nie miałem szczęścia z google.

#edit po kilku próbach doszedłem do wniosku, że to działa tak, jakby aplikacja miała nowy parametr w ścieżce... ale po tym nie moge jakby poprawnie użyć fopen() :|

Jakby dawało mi ta funkcja zły wskaźnik FILE * ...
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 30.04.2010

#include <stdio.h>

int main(int argc, char* argv[])
{
printf("Program: %s\n", argv[0]);
if (argc>1)
{
printf("Parametry:\n");
int c;
for (c=1;c<argc;c++)
{
printf("%d %s\n",c,argv[c]);
}
}
system("pause");
return 0;
}


Chyba coś takiego będzie ok ;)
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 30.04.2010

Problem miałem "dziwnej natury", otwierałem osobne pliki bez pełnej ścieżki i gdy upuszczałem plik, to przestawało otwierać ten plik :|
Ale gdy zmieniłem na pełną ścieżkę to działało dobrze z jak i bez opuszczania pliku...

Dzięki za kod, by gdybym sam tego nie sprawdził, to by mi to na pewno pomogło ;)
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 30.04.2010

Jeszcze jeden edit i zabiję :P
#include <stdio.h>

int main(int argc, char* argv[])
{
printf("Program: %s\n", argv[0]);
if (argc>1)
{
printf("Parametry:\n");
int c;
for (c=1;c<argc;c++)
{
printf("%d %s\n",c,argv[c]);
printf("Zawartosc:\n\n");
FILE *fp;
int letter;
if( ( fp = fopen( argv[c], "r")) == NULL) {
puts("Nie mozna otworzyc pliku");
system("pause");
exit( 0 );
}
while( ( letter = fgetc( fp ) ) != EOF)
printf("%c",letter);
fclose(fp);
}
}
system("pause");
return 0;
}


Drukuje zawartość przeciągniętego pliku(przynajmniej u mnie).


#Edit:

No co za wredota ^_^
Może komu innemu się przyda.
Odpowiedz
Zablokowany