【发布时间】:2020-07-17 04:40:29
【问题描述】:
我正在使用 Adafruit_ST7735(带有 Adafruit_GFX)库在我的 1.8 TFT 显示器上显示内容。当我设置 tft.setTextWrap(false); 它确实包装了文本,但它不关心单词。例如,它是这样包装的:
我喜欢打篮球
tball,我真的很喜欢
玩计算机
r 游戏
我需要让它看起来像这样:
我喜欢晒太阳-
etball,我真的
喜欢玩电脑-
超级游戏
短的单词放在下一行,而较长的单词分成两行并用 - 连接,这样我可以显示比将每个单词放在新行上更多的文本。我对此的主要斗争是角色以这样的 SD 方式一个接一个地出现:
File myFile = SD.open(file_name);
if (myFile) {
while (myFile.available() > myFile.size() - 300) {
tft.write(myFile.read());
}
myFile.close();
} else {
tft.print("Error opening file.");
}
我将如何为传入的字符编写这样的文字处理器,以便短词(即包含少于或等于 5 个字符)在下一行传输,而较长的词(即包含超过 5 个字符)被剪切a - 一部分在一行,另一部分在下一行(如上一个示例)?
【问题讨论】:
-
请注意,没有“C/C++”语言。两者是不同的语言。 Arduino 代码是 C++。
标签: c++ text arduino word-processor