我试图在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);
答案 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编译器,则应该更喜欢snprintf
到sprintf
。 snprintf
是防止缓冲区溢出的更安全的选择。
snprintf(filename, FILENAME_LENGTH, "/Users/Funktiona/Desktop/data/data%i.txt", i);
答案 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");