Bir C++ uygulaması yazıyorum ve bir sistem komutunun sonucunu okumam gerekiyor. Ben farklı bir şekilde bu yeniden yazmaya çalışıyorumC++ okuma sonuçları C++
const int MAX_BUFFER = 2048;
string cmd="ls -l";
char buffer[MAX_BUFFER];
FILE *stream = popen(cmd.c_str(), "r");
if (stream){
while (!feof(stream))
{
if (fgets(buffer, MAX_BUFFER, stream) != NULL)
{
//here is all my code
}
}
pclose(stream);
}
: Burada gösterilen gibi popen()
az ya da çok kullanıyorum
.
FILE *myfile;
std::fstream fileStream(myfile);
std::string mystring;
while(std::getline(myfile,mystring))
{
// .... Here I do what I need
}
Benim derleyici bu olsa kabul etmiyor: Ben gibi bazı standart dışı çözümler gördü.
C++ 'da popen
'dan nasıl okurum?
Tüm kodum nedir? İlk çözümünüz, "data.append (buffer);" ise mükemmel çalışır. – Beta
Arama yığınını kazandığınız yerden yayınlayabilir misiniz? – Arkadiy
Lütfen hatayı gösteren bir minimum ** tamam ** programı sağlayın. Gerçek programla başla, işe yarayan bütün satırları sil ve sadece ne olduğunu göster. [Here] (http://ideone.com/azOcT), ilk kod parçanızın çalışan bir uygulamasının bir sınavıdır. Bu tekniği kullanma hakkında daha fazla bilgi için http://sscce.org adresini ziyaret edin. –