C++ cli C++/CLL -旋转文本
我有像这样的文字 我{爱|享受{喜欢{阅读|发布}{堆叠|堆叠}。{:D |: |^^{他们{是{论坛}董事会}{董事会{论坛}bbs} 提供{免费|很棒|信息动态|新}{指南|想法|教程|帖子} 还有{工具|下载|书籍} 字符串^Szablon 并希望从中生成文本 我写了一个代码:C++ cli C++/CLL -旋转文本,c++-cli,spinner,C++ Cli,Spinner,我有像这样的文字 我{爱|享受{喜欢{阅读|发布}{堆叠|堆叠}。{:D |: |^^{他们{是{论坛}董事会}{董事会{论坛}bbs} 提供{免费|很棒|信息动态|新}{指南|想法|教程|帖子} 还有{工具|下载|书籍} 字符串^Szablon 并希望从中生成文本 我写了一个代码: while ((str = din->ReadLine()) != nullptr) //read from the file { int rndInt; tekst
while ((str = din->ReadLine()) != nullptr) //read from the file
{
int rndInt;
tekst=Szablon;
int i=0;
while (i<5){
Regex^ spin = gcnew Regex("{[^{}]*}");
String^ delimStr = "|";
Match^ m = spin->Match(tekst);
if ( m->Success )
{
array<Char>^ delimiter = delimStr->ToCharArray( );
array<String^>^ words;
words = m->Value->Split( delimiter );
words[0] = words[0]->Replace("{","");
words[words->Length-1] = words[words->Length-1]->Replace("}","");
Random^ r = gcnew Random();
int x=r->Next(0,words->Length);
String^ aktualny=words[x];
tekst = tekst->Replace(m->Value,aktualny);
}
else {i=8;}
}
MessageBox::Show(tekst);}
它是有效的,但它始终会生成相同的结果我们希望您在代码中的某个地方使用str。也许你会先删除萨布隆,不管它是什么意思。并使用tekst=str;这只是代码的一部分,str在这里并不重要。如果我做其他循环文本,它会一直给我相同的结果。您需要将随机对象移出此代码,它需要作为字段存储在出现此代码的类中。按照您现在使用它的方式,它会根据当前时间不断使用相同的种子重新初始化,因此很可能会不断生成相同的随机数。时间仅以15.6毫秒的间隔变化。只创建一次,必要时将其设置为静态。您有该类的示例吗?