0

C++11 和编译器是 TDM-GCC。

我制作了一个 ini 文件并通过 WinAPI GetPrivateProfileStringW 从中读取字符串(UCS-2 LE BOM)。

[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

我不确定为什么“\n”在这种情况下不起作用。

为避免这种情况,我可以创建多个 INI 密钥并使用“endl”计算它们。

但是在这个项目中,这里有多少行应该是动态的。

如何从屏幕上的 Windows API 中找出单个字符串变量,变成多行?

4

1 回答 1

0

该序列\n仅在源代码中被编译器识别为文字字符串或字符的一部分。它不是内置于库或任何标准函数中的。

如果您希望序列代表您从外部源读取的输入中的换行符,您必须自己处理它。

于 2017-04-10T07:36:00.120 回答