Vypnutie PC v C++ – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vypnutie PC v C++ – C / C++ – Fórum – Programujte.comVypnutie PC v C++ – C / C++ – Fórum – Programujte.com

 

Lukáš
~ Anonymní uživatel
301 příspěvků
10. 9. 2015   #1
-
0
-

Nazdar, vytváram si jednoduchý script a som v C++ začiatočník. Chcel by som vytvoriť script ktorý by mi vypol počítač  vtedy keď nastavím čas. 

Napr. keď napíšem nech sa vypne o 20 min, tak si sám prepočíta na sekundy a nastaví shutdown.

#include <iostream>
#include <cstdlib>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char *argv[]) {

	int min,sec;
	cout<<"\nZadaj pocet minut: ";
	cin>>min;
	sec=min*60;
	system("C:\\WINDOWS\\System32\\shutdown /s /t sec ");
	cout<<"\nPocitac sa vypne o "<<min<<" minut.\n";
    return EXIT_SUCCESS;
}

A moja otázka je: Ako zabezpečiť aby sa ten shutdown nastavil na danú premennú? hrubo vyznačené v kóde.

Ja viem že to je úplne primitívne ale už som to skúšal hocijako zadefinovať a vypísalo mi len "help".

Nahlásit jako SPAM
IP: 85.135.223.–
vitamin+8
Grafoman
10. 9. 2015   #2
-
0
-

Pouzi std::stringstream:

std::stringstream ss;
ss << "C:\\WINDOWS\\System32\\shutdown /s /t " << sec;
system(ss.str());
Nahlásit jako SPAM
IP: 195.28.77.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Lukáš
~ Anonymní uživatel
301 příspěvků
10. 9. 2015   #3
-
0
-

#2 vitamin
teraz mi po preložení píše chybu:

[Error] aggregate 'std::stringstream ss' has incomplete type and cannot be defined

Nahlásit jako SPAM
IP: 85.135.223.–
Lukáš
~ Anonymní uživatel
301 příspěvků
10. 9. 2015   #4
-
0
-

#3 Lukáš
nechýba mi knižnica ? 

Nahlásit jako SPAM
IP: 85.135.223.–
ondrej39+1
Věrný člen
10. 9. 2015   #5
-
0
-

#4 Lukáš
Pokud nemáš naincludovaný <sstream>, tak chybí.

Nahlásit jako SPAM
IP: 78.156.159.–
Inject all the dependencies!
Lukáš
~ Anonymní uživatel
301 příspěvků
10. 9. 2015   #6
-
0
-

a ešte tu je jedna chyba: 

#include <iostream>
#include <cstdlib>
#include <stdlib.h>
#include <sstream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char *argv[]) {

	int min,sec;
	cout<<"\nZadaj pocet minut: ";
	cin>>min;
	sec=min*60;
	std::stringstream ss;
	ss << "C:\\WINDOWS\\System32\\shutdown /s /t " << sec;
	system(ss.str());
	cout<<"\nPocitac sa vypne o "<<min<<" minut.\n";
    return EXIT_SUCCESS;
}

a chyba je v riadku: system(ss.str()); 

[Error] cannot convert 'std::basic_stringstream<char>::__string_type {aka std::basic_string<char>}' to 'const char*' for argument '1' to 'int system(const char*)'

Nahlásit jako SPAM
IP: 85.135.223.–
KIIV
~ Moderátor
+43
God of flame
10. 9. 2015   #7
-
0
-

#6 Lukáš
ss.str() je jeste porad typu std::string, z toho se pak musi pomoci c_str() vytahnout const char *

ss.str().c_str()

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Lukáš
~ Anonymní uživatel
301 příspěvků
10. 9. 2015   #8
-
0
-

#7 KIIV
ja som z toho úplne blbý :D ako by to potom malo vyzerať ? samozrejme ak máš čas mi to trochu vysvetliť

Nahlásit jako SPAM
IP: 85.135.223.–
KIIV
~ Moderátor
+43
God of flame
10. 9. 2015   #9
-
0
-


system(ss.str().c_str());
 

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Lukáš
~ Anonymní uživatel
301 příspěvků
10. 9. 2015   #10
-
0
-

#9 KIIV
vďaka, už to všetko funguje 

Nahlásit jako SPAM
IP: 85.135.223.–
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, 84 hostů

Podobná vlákna

Vypnutie PC v C# — založil Anonymní uživatel

Vypnutie PC s assemblerom — založil Jefries

Vypnutie zvuku — založil dartanan

Vypnutie lcd... — založil Nrigo

Vypnutie X vo vlastnostiach okna — založil Martin Ocetník

Moderátoři diskuze

 

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