THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => C / C++ / C# => Topic started by: BOBoMASTORAS on April 14, 2007, 01:15:23 am



Title: deleted
Post by: BOBoMASTORAS on April 14, 2007, 01:15:23 am
deleted


Title: Re: Επιστροφή αποτελέσματος από τη κονσόλα του Linux σε πρόγραμμα C/C++
Post by: Verminoz on April 17, 2007, 04:29:40 am
Και ως συνήθως μόνος σου τελικά το βρήκες :P


Title: deleted
Post by: BOBoMASTORAS on April 17, 2007, 11:01:51 am
deleted


Title: Re: Επιστροφή αποτελέσματος από τη κονσόλα του Linux σε πρόγραμμα C/C++
Post by: elmaya on April 17, 2007, 22:49:49 pm
Φαντάζομαι ότι αν γνωρίζεις τη δομή της εξόδου σου μπορείς να κάνεις redirect σε αρχείο ή σε κάποιον άλλον buffer και από 'κει και μετά να εκμεταλλευτείς τον buffer. Ένα παράδειγμα που χρησιμοποιεί αρχείο είναι αυτό το ανάμικτο σε C και C++.

Code:
#include <iostream>
using namespace std;

int main (int argc, char **argv)
{
  FILE *fp;
 
 
  fp = fopen (argv[1],"w");
  if (fp == NULL)
  {
printf("File \"%s\" couldn't be opened.\n\n",argv);
exit(0);
  }
  system ("ls | grep Desktop > fp");
 
  cout << fp << endl;
 
  fclose(fp);
  return 0;
}

Συνεπώς δεν χρειάζεται να χρησιμοποιήσεις το δίσκο, αλλά μόνο μνήμη. Κάνεις δηλαδή pipe το output του προγράμματος σε stream. Στο παραπάνω δηλαδή, το stream σου παίρνει τη θέση του αρχείου.


Title: deleted
Post by: BOBoMASTORAS on April 19, 2007, 04:09:02 am
deleted


Title: deleted
Post by: BOBoMASTORAS on July 31, 2007, 21:52:35 pm
deleted