我正在使用SD.h
库用Arduino Uno写入SD卡。我需要在文件中写出一个模板字符串,其中一些占位符由某些值替换,以printf
的方式行事。我会使用fprintf
函数,但是当我尝试这个时:
File dataFile = SD.open("myfile.txt", FILE_WRITE);
fprintf(dataFile, "mynumber: %d\n", 100);
我收到了这个错误:
无法将参数'1'的'File *'转换为'__file *'为'int fprintf(__ file *,const char *,...)'
我该如何管理?
答案 0 :(得分:3)
printf()使您的可执行对象大1000字节,因此如果大小有问题,您可能不想使用它。
fprintf
不打算与SD.h一起使用,所以我想
我想到的简单解决方案是使用sprintf格式化文本,然后使用println函数将其写入文件
File dataFile = SD.open("myfile.txt", FILE_WRITE);
char text[100];
sprintf(text,"My number: %d",yournumber);
dataFile.println(text);