输入int到文件方向

时间:2014-10-27 22:05:45

标签: c int fopen

我试图在c编程中将int插入文件url中。我用Google搜索,一无所获。

这是有效的代码。

write=fopen("/Users/Funktiona/Desktop/data/data.txt", "w");

这就是我的想法,但它不起作用

int i = 1;
write=fopen("/Users/Funktiona/Desktop/data/data%i.txt", "w", i);

2 个答案:

答案 0 :(得分:2)

你需要:

#define FILENAME_LENGTH 200 /* Make it as large as you need to */

char filename[FILENAME_LENGTH];
sprintf(filename, "/Users/Funktiona/Desktop/data/data%i.txt", i);
write=fopen(filename, "w");

如果您可以访问C99或C ++ 11编译器,则应该更喜欢snprintfsprintfsnprintf是防止缓冲区溢出的更安全的选择。

snprintf(filename, FILENAME_LENGTH, "/Users/Funktiona/Desktop/data/data%i.txt", i);

结帐basic tutorial on basic IO in C

答案 1 :(得分:0)

只有少数特定的库函数会替换为格式字符串,主要是printf系列。 fopen等来电不会。您需要使用sprintf等创建字符串,并将该字符串反馈到fopen

char filename[256];

snprintf(filename, sizeof filename, "/Users/Funktiona/Desktop/data/data%i.txt", x);
write = fopen(filename, "w");