String 在C+;中使用字符串^+;
我正在写一个程序,你可以输入文本并输出一个文本文件 我有这个:String 在C+;中使用字符串^+;,string,visual-c++,newline,line-breaks,managed-c++,String,Visual C++,Newline,Line Breaks,Managed C++,我正在写一个程序,你可以输入文本并输出一个文本文件 我有这个: int _tmain(int argc, _TCHAR* argv[]) { String^ fileName = "registry.txt"; String^ out; StreamWriter^ sw = gcnew StreamWriter(fileName); out = "hi"; out = out + "\n how you
int _tmain(int argc, _TCHAR* argv[])
{
String^ fileName = "registry.txt";
String^ out;
StreamWriter^ sw = gcnew StreamWriter(fileName);
out = "hi";
out = out + "\n how you doing?";
sw->WriteLine(out);
sw->Close();
}
基本上我想要这个:
hi
how you doing?
但我得到的是:
hi how you doing?
如何修复它?使用静态数据成员
Environment::NewLine
比如说
out = out + Environment::NewLine + " how you doing?";
或者,您可以显式指定转义控件符号“\r”以及Windows中使用的“\n”来分隔行
out = out + "\r\n how you doing?";
下面是使用这两种方法的示例
#include "stdafx.h"
using namespace System;
using namespace System::IO;
int main(array<System::String ^> ^args)
{
String ^fileName( "Data.txt" );
String^ out;
StreamWriter^ sw = gcnew StreamWriter( fileName );
out = "hi";
out = out + "\r\n how you doing?";
sw->WriteLine(out);
out = "hi";
out = out + Environment::NewLine + " how you doing?";
sw->WriteLine(out);
sw->Close();
return 0;
}
这是管理C++。请使用适当的语言标记。这是C++-CLI吗?如果是,请将其标记为。可能的副本
hi
how you doing?
hi
how you doing?