简单的问题,因为我只能在 googlemobil 上找到有关 C++ 的答案:有没有办法在 C 中打开和编辑文件,其中文件具有变量名称?
让我们说得更清楚一点:我有一个提示,它检查用户是否提供文件名。如果没有输入文件名,程序会自动打开我在同一目录中创建的 client.conf
文件;现在这是 if-else 语句中最简单的部分。
但是,如果已给出名称,如何让我的程序在同一目录中创建文件 givenInput.conf
并向其发送数据?我认为读写交互与 if 语句的第一种情况相同,使用 fopen() ,但是 fopen() 用作第一个参数 const char *限制文件名,我正在尝试为不是常量的字符做一些事情......
在 C++ 中,有一种方法可以绕过这个问题,即创建一个单独的(空)数组,粘贴输入,然后向其中添加字符串后缀;另外,它使用 C++ 特定函数(我忘记了名字,抱歉^^)来解析变量文件名....
有什么想法如何在常规、简单的 C 语言中管理这个问题吗?我是 C 编程语言的新手,请对新手温柔一点;)
最佳答案
您可以在需要常量字符串的情况下发送非常量字符串,并且无需进行强制转换。因此,只需使用您以最适合您的方式构建的字符串打开文件即可:
char filename[1024];
getFilenameSomehow(filename, 1024);
fopen(filename, "w");
但是,您不能在需要非常量字符串的地方发送常量字符串。
const char *myConst = "May not be changed";
memset(myConst, 'X', strlen(myConst)); // Error! You may not modify a const string.
关于c - 打开并编辑 C 中具有变量名称的外部文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20211668/