čtení parametru – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

čtení parametru – C / C++ – Fórum – Programujte.comčtení parametru – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Kuba-$
~ Anonymní uživatel
24 příspěvků
2. 11. 2007   #1
-
0
-

Zdravím, potřebuju pomoci, s C začínám, ale pár věcí už znám. Bohužel tady se nemůžu vyznat.
Potřebuju přečíst z parametrů dva nazvy, ktere potom pouziji jako nazvy souboru s kterymi chci pracovat.
Když spoustim program, napisu tohle:

program.exe soubor1.txt soubor2.txt //program a dva parametry

tyto parametry potrebuju precist a ulozit tak, abych je pozdeji mohl pouzit pri cteni ze souboru:

FILE *fopen(const char *soubor1, const char *modus);


Doufam ze me chapete, tady je zdrojak. A netusim kde je chyba, prosim, poradte

#include <stdio.h>

#include <stdlib.h>
#include <string.h>

char soubor1, soubor2;

int soub;

void nazev_souboru(int argc, char *argv[]);

int main(int argc, char *argv[])
{
soub = 1;

nazev_souboru(argc, argv); //dva nazvy tak dve volani
nazev_souboru(argc, argv);

//pro kontrolu si tisknu nazvy souboru
printf("%s", soubor1);
printf("%s", soubor2);

return 0;
}

void nazev_souboru(int argc, char *argv[])
{
char *nazev;

if (soub == 1)
nazev = &soubor1;
if (soub == 2)
nazev = &soubor2;
if (soub != 1 && soub != 2)
exit(1);
*nazev = scanf("%30s", &argv[soub]);
soub++;
}

Nahlásit jako SPAM
IP: 85.132.225.–
Reklama
Reklama
ian0
Stálý člen
2. 11. 2007   #2
-
0
-

Není třeba to řešit takhle složitě, argc slouží jen ke kontrole počtu parametrů a argv je pole ukazatelu na řetězce (parametry), takže stačí:

char *nazev1 = argv[1];

char *nazev2 = argv[2];

Btw, scanf čte pouze z stadardního vsupu, pokud chceě číst z řetězce, používá se funkce sscanf

Nahlásit jako SPAM
IP: 194.108.128.–
-- ian
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 107 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý