【发布时间】:2014-09-10 22:28:29
【问题描述】:
我正在尝试使用 EmFile 库进行基于 C 的嵌入式编程。
这是 API 文档中 FS_write 的结构:
U32 FS_Write (FS_FILE * pFile,
const void * pData,
U32 NumBytes);
我想编写自己的函数以供以后使用,例如:
void SD_write_to_file(char buff)
{
if(pFile)
{
if(0 != FS_Write(pFile, buff, strlen(buff)))
{
}
else
{
FontWrite_Position(100,148);//Text written to the position
PutStringLCD("Failed to write data to file");
}
}
}
问题是当我调用这个函数并传递我的 char 值时,它不能将它用于 FS_write。 例如:
sprintf(tempwordshow, "%f", realSamples[realsamplescounter]);
SD_write_to_file(tempwordshow);
realSample[ ] 是 float 而 tempwordshow 是 char。
注意,如果使用如下函数:
if(0 != FS_Write(pFile, "0123456789", 10u))
它正在工作。
我认为问题出在将我的数据传递给这个函数的方式上。
有什么想法吗?
谢谢
【问题讨论】:
标签: c char parameter-passing