gpt4 book ai didi

c - 使用echo在C中写入文件时如何换行

转载 作者:IT王子 更新时间:2023-10-29 01:13:19 24 4
gpt4 key购买 nike

您好,我正在尝试使用系统功能获取文件夹中文件的数据,这是代码

char path[100],command[120];
scanf("%s",&path);

sprintf(command,"echo $(ls %s) > something.txt",path);
system(command);

但是当我查看 something.txt 时,没有新行。这是输出,全部在一行中,省略了许多文件名:

acpi adjtime adobe apparmor.d arch-release asound.conf ati at-spi2 avahi bash.bash_logout ... wpa_supplicant X11 xdg xinetd.d xml yaourtrc

我确实尝试了回显的 -e -E -n 选项,但它没有用。如何在每个文件之后换行?

最佳答案

你不应该使用 echo。只做

sprintf(command,"ls %s > something.txt",path);
system(command);

当您使用 echo 时,它会将所有命令行参数逐个输出到标准输出,并以空格字符分隔。换行符(ls 命令的输出)用作参数分隔符,就像空格一样。

关于c - 使用echo在C中写入文件时如何换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30855176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com