在Ubuntu上运行的我的C代码有行
system("ls -l | wc > temp.txt");
我想让它在Windows上运行,以便它必须是OS Independent.How我能做到这一点。 任何人都可以帮助我吗?
答案 0 :(得分:1)
我猜想显示的特定代码可能会在某个时刻从“temp.txt”文件中获取第一个值并将其用作文件计数(实际上是文件数加一个)
而不是你可以像这样使用C代码
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
int main() {
DIR *cwd;
int c=1; /* like +1 */
struct dirent *d;
if ((cwd=opendir(".")) ) {
while((d=readdir(cwd))) {
if (*(d->d_name) != '.') c++; /* ignore dot files */
}
} else {
perror("opendir fail");
return(1);
}
printf("the first number in temp.txt would be %d", c);
return(0);
}
无论system()调用结果如何,这都是我的答案:用C语言重写它,你已经在两个系统上工作了