system函数 如何输出到文件 C++
例如,我在代码中写了voidmain(){printf("你好");system("ping127.0.0.1");printf("再见");}如何将“你好”和“再见”打...
例如,我在代码中写了
void main(){
printf("你好");
system("ping 127.0.0.1");
printf("再见");
}
如何将“你好”和“再见”打到屏幕上,将ping的信息打到"ping.result"文件里? 展开
void main(){
printf("你好");
system("ping 127.0.0.1");
printf("再见");
}
如何将“你好”和“再见”打到屏幕上,将ping的信息打到"ping.result"文件里? 展开
2个回答
展开全部
可以利用重定向实现system函数输出到文件。
例如:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
public class Test {
publicstaticvoid main(String[] args) {
PrintStream printStream = null;
PrintStream sysout = System.out;
PrintStream syserr = System.err;
try {
File file = new File("c:\\systemout.log");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
printStream = new PrintStream(new FileOutputStream(new File(
"c:\\systemout.log"),true));
// set output to file instead of console
System.setOut(printStream);
System.setErr(printStream);
System.out.println("Before Redirect:System.out.println");
System.err.println("Before Redirect:System.err.println");
} catch (FileNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (printStream !=null) {
printStream.close();
}
// Reset the output to console
System.setOut(sysout);
System.setErr(syserr);
System.out.println("After Redirect:System.out.println");
System.err.println("After Redirect:System.err.println");
}
}
}
例如:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
public class Test {
publicstaticvoid main(String[] args) {
PrintStream printStream = null;
PrintStream sysout = System.out;
PrintStream syserr = System.err;
try {
File file = new File("c:\\systemout.log");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
printStream = new PrintStream(new FileOutputStream(new File(
"c:\\systemout.log"),true));
// set output to file instead of console
System.setOut(printStream);
System.setErr(printStream);
System.out.println("Before Redirect:System.out.println");
System.err.println("Before Redirect:System.err.println");
} catch (FileNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (printStream !=null) {
printStream.close();
}
// Reset the output to console
System.setOut(sysout);
System.setErr(syserr);
System.out.println("After Redirect:System.out.println");
System.err.println("After Redirect:System.err.println");
}
}
}
推荐于2016-03-05
展开全部
最简单的方法就是利用重定向实现
system("ping 127.0.0.1 >xxxx");//xxxx为要写入的文件名,包括路径
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询