在Linux系统中,home目录的定义是通过系统环境变量中的HOME变量值来确定的,在shell下可以通过
echo $HOME来查看。
而在C语言中,库函数getenv可以用作获取环境变量值。该函数位于stdlib.h, 原型为
char *getenv(char *name)
功能为获取名字为name的环境变量字符串。
所以,下面代码就可以获取到home目录名了:
2、例程:
char *home
home = getenv("HOME")
printf("the home path is %s\n", home)
直接fopen("abc.txt","r")就可以了。
不过要注意一点,如果你使用VC编译调试,那么在里面点!号运行的时候,那个当前目录是指工程目录,而不是Debug文件夹里面。当然,你直接把exe文件拿出来用的话就是一般意义下的当前目录了。
用system调用
DOS
DIR
命令就可以了:
system
(
"dir
sss_*
/B
>
log.txt")
这就把
前缀为sss_的文抄件
文件名
存入
log.txt
文件了。
一个名字袭一行,没有别的东西。
你再
读出zhidao来。
#include
<stdio.h>
main()
{
FILE
*fp
char
str[30][50]
//
假定文件数不超过30个
int
i,n=0
system("dir
sss_*
/B
>
log.txt")
fp=fopen("log.txt","r")
while(1){
if
(
fgets(str[n],50,fp)==NULL)
break
str[n][strlen(str[n])-1]='\0'
//
加一个字符串结束符
n++
}
fclose(fp)
for
(i=0i<ni++)
printf("%s\n",str[i])
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)