c ++ / cli读取文本文件

时间:2015-07-04 17:02:28

标签: mysql visual-studio-2010 c++-cli

我正在尝试将文本文件读入我的程序,以便我可以填充我已连接到我的程序的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的新消息框,依此类推。现在它显示整行。

1 个答案:

答案 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 = " ";,请将其更改为,,依此类推。