我正在尝试在我的C ++项目中使用C#方法System::IO::File::ReadAllLines()
,但每当我尝试将System::String^
传入方法时,它会强调该方法并说:
类型为“cli :: array< sytem :: String ^,1>”的值不能用于初始化“System :: String ^”
类型的实体
这是什么意思?我的代码:
#define IO System::IO
int main()
{
System::String ^ path = gcnew System::String("C:\\text.txt");
System::String ^ lines = IO::File::ReadAllLines(path);
return 0;
}
C ++中还有替代功能吗?
我已经设置了要使用的项目,/ clr。
如果您需要更多信息,请告诉我,我会提供。
答案 0 :(得分:3)
你误解了你收到的错误。 ReadAllLines
返回一个字符串数组,而不是包含整个文件内容的字符串。 ReadAllText
返回包含整个文件内容的字符串。
// if you would like an array of strings
array<String^>^ lines = File::ReadAllLines(path);
// or
// if you would like a single string with the file contents
String^ lines = File::ReadAllText(path);