C ++ 11和编译器是TDM-GCC。
我制作了一个ini文件,并通过WinAPI读取了它的字符串(UCS-2 LE BOM), GetPrivateProfileStringW。
[String]
Example = Today\nYesterday\nApple
我的函数库将返回一个变量std :: wstring。它看起来很好。 然后使用wcout,就像:
#include <iostream>
#include <string>
using namespace std;
wstring readString = GetPrivateProfileStringW(); // Hide the details.
wcout << readString << endl;
我在屏幕上得到了什么:
Today\nYesterday\nApple
我想要的是什么:
Today
Yesterday
Apple
我不确定为什么&#34; \ n&#34;在这种情况下不起作用。
为了避免这种情况,我可以使用&#34; endl&#34;创建多个INI密钥并对其进行cout。
但在这个项目中,这里有多少条线应该是动态的。
如何从屏幕上的Windows API中获取单个字符串变量,变成多行?
答案 0 :(得分:0)
序列\n
只能被源代码中的编译器识别为文字字符串或字符的一部分。它没有内置于库或任何标准函数中。
如果您希望序列在输入中表示您已从外部源读取的换行符,则必须自己处理。