【发布时间】:2016-04-22 18:02:04
【问题描述】:
我想打开一个文件。很容易。使用 fopen()。但是,打开什么文件取决于用户输入。我有点精通 Korn Shell 脚本,这很容易使用变量替换:$(var)。我无法在 C 中找出正确的格式。有人可以给我一些见解吗? 我的代码 -
#include <stdlib.h>
#include <stdio.h>
char statsA[100];
char fileA[50];
int main (void)
{
printf("Enter file to open\n");
gets(fileA);
FILE *statsA;
statsA = fopen("c:/Users/SeanA/C/***<fileA>***", "r+");
.......................................^ What goes here?
我不确定如何在 fopen 字符串中包含用户输入。
【问题讨论】:
-
尝试查看
sprintf函数。 -
或者更好,
snprintf。 -
强制:不要使用
gets,因为使用它用户可以总是使您的程序崩溃,并且它也已从当前标准 C 中删除(正因为如此) . -
您需要使用上述方法之一构建一个结合路径和文件名的新字符串。
标签: c variables substitution