C++ cli 如何执行多个打开的文件?

C++ cli 如何执行多个打开的文件?,c++-cli,C++ Cli,这就是我的任务 我创建了一个GUI,它由两个按钮组成,如图所示 因此,对于“浏览捕获的文件”按钮,我必须通过OpenFIleDialog打开多个文件并读取它。这是打开和读取文件的代码 Stream^ myStream; OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog; openFileDialog1->InitialDirectory = "c:\\"; openFileDialog1->Title = "open c

这就是我的任务

我创建了一个GUI,它由两个按钮组成,如图所示

因此,对于“浏览捕获的文件”按钮,我必须通过OpenFIleDialog打开多个文件并读取它。这是打开和读取文件的代码

Stream^ myStream;

OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;
openFileDialog1->InitialDirectory = "c:\\";
openFileDialog1->Title = "open captured file";
openFileDialog1->Filter = "CP files (*.cp)|*.cp|All files (*.*)|*.*|txt files (*.txt)|*.txt";
openFileDialog1->FilterIndex = 2;
openFileDialog1->Multiselect = true;

if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
     {

for each (String^ file in openFileDialog1->FileNames) 
{  

       array<String^>^ lines = System::IO::File::ReadAllLines(file);  

     for each (String^ line in lines) 
     {          
     }
}    
Stream^myStream;
OpenFileDialog^openFileDialog1=gcnew OpenFileDialog;
openFileDialog1->InitialDirectory=“c:\\”;
openFileDialog1->Title=“打开捕获的文件”;
openFileDialog1->Filter=“CP文件(*.CP)|*.CP |所有文件(*.*)|*.*txt文件(*.txt)|*.txt”;
openFileDialog1->FilterIndex=2;
openFileDialog1->Multiselect=true;
如果(openFileDialog1->ShowDialog()==System::Windows::Forms::DialogResult::OK)
{
对于每个(openFileDialog1->文件名中的字符串^file)
{  
数组^lines=System::IO::File::ReadAllLines(文件);
对于每个(行中的字符串^line)
{          
}
}    
}

在那之后,我想在每个文件上开始实现。我打开的文件,例如“1_1.cp”、“2_1.cp”和“3_1.cp”。在“开始分析”按钮,我将开始对文件进行分析,并需要为每个文件分配不同的任务或功能

现在我的问题是,我将如何分配每个打开的文件来执行特定的任务或功能。例如,1_1.cp执行任务A,2_1.cp执行任务B等等?有人能帮忙提出一些想法吗

我想把它变成一个自动化系统


提前感谢。

您需要为
系统::线程::线程池定义一个辅助方法,并在分析一行时,将一个项目排入
线程池

 for each (String^ line in lines) 
 {
    System::Threading::ThreadPool::QueueUserWorkItem( gcnew WaitCallback(YourMethod), dataToPass);    
 }

查找
ThreadPool

我可以问一下这样做的目的是什么吗?因为我想将打开的文件分配到“开始分析”并开始分析功能。我可以知道这两个按钮都链接了吗?这意味着在“浏览捕获文件”中打开的文件可以在“开始分析”中读取?谢谢。使用此方法,您将创建一个执行您指定任务的线程。我不知道依赖关系和内部数据传递。不过,我不太确定我是否理解正确……究竟“分配每个文件执行不同的任务或功能”是什么意思?你为什么要这么做?你是在问如何并行处理这些文件吗?