$ g++ Scan.cpp -o Scan
Scan.cpp: In function ‘int main()’:
Scan.cpp:13:9: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const char*’
13 | system(ScanCom);
| ^~~~~~~
| |
| std::string {aka std::__cxx11::basic_string<char>}
Код
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int main()
{
string file;
string fileS = file + ".jpg";
string ScanCom = "scanimage -p > /home/themihai/scans/" + fileS;
cout << "FileName:";
cin >> file;
system(ScanCom);
}
Пойдём по порядку:
stdlib.h - это файл из С. В С++ используйте cstdlib.string fileS = file + ".jpg";, переменная file содержит в себе пустую строку. Читайте строку до того, как будете её использовать.system ожидает char* или const char*, а не обьект string. Метод c_str() может Вам помочь. Вызвайте так: system(ScanCom.c_str());.Сборка персонального компьютера от Artline: умный выбор для современных пользователей