C 如何存储系统函数中的字符串
我想知道,当您从系统中调用某个函数时,是否有方法存储系统打印出来的内容,例如,我希望我的程序读取我的Wi-Fi密钥/从控制台输出的所有内容,并将其存储在.txt文件中。这可能吗?如果没有,是否可以从系统打印字符串 以下是打印内容的代码:C 如何存储系统函数中的字符串,c,system,C,System,我想知道,当您从系统中调用某个函数时,是否有方法存储系统打印出来的内容,例如,我希望我的程序读取我的Wi-Fi密钥/从控制台输出的所有内容,并将其存储在.txt文件中。这可能吗?如果没有,是否可以从系统打印字符串 以下是打印内容的代码: #include <stdio.h> int main() { system("netsh wlan show profile wifi name key=clear"); return 0; } #包括 int main
#include <stdio.h>
int main()
{
system("netsh wlan show profile wifi name key=clear");
return 0;
}
#包括
int main()
{
系统(“netsh wlan show profile wifi name key=clear”);
返回0;
}
我用了一种比@Ratul Sharker和@Basile Straynkevitch建议的简单得多的方法来解决这个问题。解决方案是在系统中使用
,但在编译之前必须有一个.txt文件(可能会找到一种方法让程序编写该文件)
代码:
#包括
int main()
{
系统(“netsh wlan show profile wifi name key=clear>C:\\somepath\\name.txt”);
返回0;
}
将输出字符串重定向到文件ptr将完成此操作。谢谢您的建议!在POSIX系统上,您可能想要使用;虽然系统
是由C标准化的,但命令的执行方式并不是特定于操作系统的。的可能重复看起来像是XY问题。使用一个库来完成实际需要的调用,并直接调用函数。对我来说,使用popen()似乎更优雅,因为它避免了对临时文件的需要,并且不依赖于特定的shell行为。此外,它还避免了加载shell时额外的内存开销。
#include <stdio.h>
int main()
{
system("netsh wlan show profile wifi name key=clear > C:\\somepath\\name.txt");
return 0;
}