以下情况是否有效?(我试图提取变量的值,并根据存储在数组中的文本创建一个文件.)
#include <stdio.h>
int main()
{
char a = "a";
FILE *out;
out = fopen( "%s.txt", a, "w" );
fclose(out);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 9
以下情况是否有效?
没有.
不要做假设!请改为阅读手册.这真的很值得.
char buf[0x100];
snprintf(buf, sizeof(buf), "%s.txt", random_string);
FILE *f = fopen(buf, "r");
Run Code Online (Sandbox Code Playgroud)
不直接。但是您可以按如下方式间接进行(或任何类似的操作)...
#include <stdio.h>
int main()
{
char* a = "a";
char* extension = ".txt";
char fileSpec[strlen(a)+strlen(extension)+1];
FILE *out;
snprintf( fileSpec, sizeof( fileSpec ), "%s%s", a, extension );
out = fopen( fileSpec, "w" );
fclose(out);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您不能为 char 变量分配字符串文字。您应该将代码更改为:
char a[] = "a";
Run Code Online (Sandbox Code Playgroud)
另一个问题是该fopen函数只获取 2 个参数,但您传递了 3 个参数。
| 归档时间: |
|
| 查看次数: |
42745 次 |
| 最近记录: |