C ++ Получение основных свойств программы

0

Я пишу алгоритм, который хочет проверить, есть ли google-хром или имеет ту же версию, что и вход, заданный пользователем. для этого мне нужен способ проверить, какая версия google-chrome имеет. Я использую Linux-программу для программирования, но я хочу, чтобы она работала дома, где я использую win 8.1

Есть ли способ проверить в C/C++, что такое версия программы? Я считаю, что лучше всего получить awnser в строке, потому что тогда я могу просто сравнить с

if(strcmp(version, input)=1)

Спасибо за прочтение.

PS. Я начал в C++, но я могу изменить, даже если java, если необходимо

вот базовая версия того, что у меня есть сейчас:

#include <iostream>
#include <string>

using namespace std;
#define x 256;
int main(){
std::string version;
std::string input;
//get version
if(strcmp(version, input)=1){
    //versions are equal
    }
    //chrome needs to be updaded

return 0;
}
  • 0
    Любой ответ, вероятно, будет зависеть от ОС, поэтому вам, вероятно, потребуется указать платформу и ОС.
  • 0
    В Linux google-chrome --version печатает версию браузера.
Показать ещё 6 комментариев
Теги:
properties

1 ответ

1
Лучший ответ

Вы можете запустить терминальный процесс с C с помощью команды popen(). Вам нужно будет включить заголовок stdio.h. Вот фрагмент кода, который может вам помочь:

FILE *pd = popen("google-chrome --version", "r");
char output[50];
fgets(output,50,pd);
pclose(pd);

В выходном массиве вы получите что-то вроде "Google Chrome 25.0.1364.97",

  • 0
    Это работает в Linux и Windows?
  • 0
    Да, в Windows есть функция popen (или _popen), хотя вам нужно немного изменить команду. Я думаю, что-то вроде "c: \ program files \ google chrome \ chrome.exe --version" должно работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню