我正在尝试将文本文件读入我的程序,以便我可以填充我已连接到我的程序的mysql数据库。在我将它发送到数据库之前,我需要能够逐个读取每个字符串,而不是读取整行。我是使用visual c ++和表单的新手,所以任何帮助都会受到赞赏。
int main(array<System::String ^> ^args)
{
String^ fileName = "customerfile.txt";
try
{
MessageBox::Show("trying to open file {0}...", fileName);
StreamReader^ din = File::OpenText(fileName);
String^ str;
int count = 0;
while ((str = din->ReadLine()) != nullptr)
{
count++;
MessageBox::Show(str);
}
}
我尝试读取的文本文件的格式如下:
43约翰史密斯4928果园rd。迈阿密佛罗里达
我希望消息框显示43,然后是一个显示john的新消息框,依此类推。现在它显示整行。
答案 0 :(得分:1)
这是一种方法:
Parse Strings Using the Split Method
<button onclick="changeState()">Push me</button>
如果您只想使用空格分割,可以设置using namespace System::Diagnostics;
//...
String^ fileName = "customerfile.txt";
StreamReader^ din = File::OpenText(fileName);
String^ delimStr = " ,.:\t";
array<Char>^ delimiter = delimStr->ToCharArray();
String^ str;
int count = 0;
while ((str = din->ReadLine()) != nullptr)
{
count++;
array<String^>^ words;
words = str->Split(delimiter);
for (int word = 0; word<words->Length; word++)
{
if (!words[word]->Length) // skip empty words
continue;
Trace::WriteLine(words[word]);
}
}
。如果您想使用空格和逗号分隔delimStr = " ";
,请将其更改为,
,依此类推。