我对C语言真的很陌生,所以也许这个问题太简单了,或者不相关。但我没有找到这个问题的答案。
我有一个文件夹,文件名为:-90.txt,-89.txt,...,0.txt,1.txt,2.txt,...,90.txt.
我需要有一些功能,将接收号码(文件夹名称)作为参数,并打开该文件。
function editFile(number){
fp=fopen("/data/" + number + ".txt", "wr");
...
// do some other things
}
字符串
4条答案
按热度按时间mdfafbf11#
在C语言中,您无法灵活地将数字添加到字符串中。如果你想把一个数字附加到一个字符串上,那么首先你必须用
itoa
函数把它转换成一个字符串。您可以找到有关该函数的联机文档。下面是在C语言中如何给字符串加上一个数字的概要
itoa
或sprintf
将数字转换为字符串(将其存储在char[]
类型的新缓冲区中char[]
类型的新缓冲区。请确保创建的文件具有足够的大小,以便可以保存完整的文件路径。strcat
追加这两个字符串。除了以上所有的过程,您还可以使用
sprintf
。fopen
8cdiaqws2#
C
没有字符串连接的概念。所以如果你想连接字符串,你必须使用这样的函数:字符串
您可以使用
sprintf
来缩短它。但是您应该添加安全检查,因为您有缓冲区溢出的风险。提示:strcpy_s
,strccat_s
,sprintf_s
。(但这超出了你的问题的答案。yzckvree3#
在C语言中,你不能用这种方式构建字符串。使用
sprintf
在局部变量中创建文件名。字符串
fnatzsnv4#
你可能已经习惯了高级语言,在那里你可以通过连接整数、浮点数、其他字符串等来“构建”一个字符串。这在C语言里行不通。
snprintf
函数是完成此任务的正确工具:字符串