首先,我不知道我的问题是否已经提出,但是我搜索了很多内容,但没有找到针对此问题的直接答案。 我想创建一个程序来读取其中有换行\n
的字符串,并将内容写回到SD卡上的文本文件中,并使用fprintf()
函数。我的编译器是ARM_GCC
和我使用的只有fprintf()
和fwrite()
写串特定库,所以我更愿意只使用这些功能,但如果你认为还有另一种途径,如果你这么说我将不胜感激。 我可以很容易地使用这个程序写一个字符串到文件:使用换行符将文本文件写入文本文件C++
void sd_open(string sd_value)
{
printf("Writing to Sd card...");
FILE* fd = fopen("/sd/numbers.txt", "w+");
fprintf(fd, "%s",sd_value.c_str());
fclose(fd);
printf("writed this value to sd: %s\r\n", sd_value.c_str());
printf("Done\n");
}
问题是这样的代码写的sd_value
的值只有一条线,我因子评分关于使用一个for循环中要搜索的字符串换行和一行一行地写入一个文件,但我不知道如何实现。 谢谢。
编辑... 假设sd_value
是这样的:
string sd_value="Hello\nWelcome\nBye"
必须被存储为下面的文本文件:
Hello
Welcome
Bye
其实,sd_value
不处理我的程序和用户在另一个应用程序中键入一个值,并以字符串形式接收它。我可以告诉用户在他的文本框中使用\ n来输入换行符,但不知道如何在代码中将它作为换行符对待。
所以你的意思是'sd_value'可能已经包含了''\ n ''字符,并且你不想存储单行来达到这些区域,在每个'\ n''之前加上'\ r'字符? –
鉴于此,从您的代码判断,您似乎知道如何将使用'printf'打印到控制台的字符串添加,这让我感到有些困惑,因为您需要询问在打印时如何执行相同的操作一个使用'fprintf'的文件 - 提示:机制是一样的。 –
tofro
感谢您的回答。我只想将相同的确切字符串打印到文本文件,但无论我的字符串是否包含“\ n”,它只打印在一行中,并且我不知道如何将添加到“printf”。你能帮助一点清楚吗? –