इस C
कार्यक्रमसिस्टम() के आउटपुट को किसी फ़ाइल में रीडायरेक्ट कैसे करें?
#include <stdio.h>
#include <fcntl.h>
int main()
{
int file = open("Result", O_CREAT|O_WRONLY, S_IRWXU);
dup2(stdout, file);
system("ls -l");
return 0;
}
में मैं एक फाइल करने के लिए system() के उत्पादन में पुनर्निर्देशित करने के लिए कोशिश कर रहा हूँ, उस के लिए मैं dup2 का इस्तेमाल किया है लेकिन यह काम नहीं कर रहा है।
क्या इस कोड साथ गलत क्या है?
और, कृपया मुझे बताओ अगर वहाँ इस करने के लिए कोई बेहतर तरीका है? (टर्मिनल पर >
का उपयोग किए बिना)
क्यों सिर्फ '>' 'system' आदेश में पुनर्निर्देशन का उपयोग नहीं करते? –
'सिस्टम ("ls -l> परिणाम") का प्रयोग करें;' या अपना स्वयं का 'कांटा() '/' exec *()' संयोजन बनाएं। –
'system' का उपयोग न करें। यह हमेशा गलत है। बिना किसी खोल के बच्चे की प्रक्रिया को चलाएं, या तो 'फोर्क' और 'execvp' या' posix_spawn' का उपयोग कर। –