我想定义一条这样的路径:
#define PATH /abc/xyz/lmn
此PATH是一个包含文件foo1,foo2,foo3,... foo115的目录。
如何在“打开”调用中使用此#define打开foo1,foo2,... foo115?
我想基本上使用指令执行此操作:
fd = open("/abc/xyz/lmn/foo1", O_RDONLY);
答案 0 :(得分:9)
#define PATH "/abc/xyz/lmn"
int main (int argc, char **argv)
{
char file2open[256];
int i;
for (i = 1; i <= 115; i++)
{
sprintf (file2open, "%sfoo%d", PATH, i);
fd = open (file2open, O_RDONLY)
......
close (fd);
}
}
答案 1 :(得分:1)
#define PATH "/some/path/to/foo/files"
for (int i = 0; 1 < SomeNumberOfFiles; i++)
{
char carray[256] = strcat(PATH, "foo");
carray = strcat(carray, char(i));
//Do something with the carray filename
}
我可能在某些C ++中混淆了,抱歉。我尽力把它当作C来保持。
答案 2 :(得分:0)
例如,要打开foo42
,您可以执行以下操作:
#define PATH "/abc/xyz/lmn"
fd = open(PATH "/foo42", O_RDONLY);