小编Vla*_*mir的帖子

如何检查进程是否已关闭/活动?

我正在用C++编写一个程序.在我的代码运行过程中一个使用功能的CreateProcess.过程开始另一个处理.B工作一段时间然后关闭.B的运行时间取决于各种参数.有时B工作1小时但有时 - 近2小时.我需要知道B何时结束其工作(当B关闭时).如何检查第二个程序B的结束?换句话说,是否有任何函数(例如,在WINAPI中)来检查进程是否还活着?

c++ time winapi process

4
推荐指数
1
解决办法
1173
查看次数

如何从文件中读取整行(带空格)?

我正在使用STL.我需要从文本文件中读取行.如何读取行直到第一行(\n而不是第一行' '(空格))?

例如,我的文本文件包含:

Hello world
Hey there
Run Code Online (Sandbox Code Playgroud)

如果我这样写:

ifstream file("FileWithGreetings.txt");
string str("");
file >> str;
Run Code Online (Sandbox Code Playgroud)

然后str将只包含"你好",但我需要"Hello world"(直到第一个\n).

我以为我可以使用该方法,getline()但它要求指定要读取的符号数.就我而言,我不知道应该阅读多少个符号.

c++ io fstream stl file

3
推荐指数
1
解决办法
2万
查看次数

一个好的随机数发生器的想法是什么?

我正在为纸牌游戏写一个程序.可以有几个游戏玩家(比如,从2到7).一副牌组由54张牌组成.我需要随机向玩家分发/发牌.

我们可以将54张牌的牌组视为54个元素的char数组.让我们假设在某个游戏中,每个玩家必须获得6张牌.玩家的数量是2.因此,有必要生成两个阵列,每个阵列由从54个元素的"大"数组中选择的6个元素组成.而且,在这两个生成的数组中,不应该有共享/重复元素.

我尝试了一种递归算法来获得从0到(m-1)的m个唯一随机数序列.

X(n + 1)=(a*X(n)+ c)mod m

您需要设置参数:

  • m - 模块,m> 0
  • a - 因子,0 <= a <m
  • c - 增量,0 <= c <m
  • X(0) - 初始值,0 <= X(0)<m
  • 数字cm必须是互质的.
  • 对于作为m的除数的每个素数p,(a-1)可被p整除
  • 如果m可被4整除,则(a - 1)必须可被4整除.

这是此算法的代码.如您所见,参数a,c,m和X(0)满足上述条件.

int a = 13,
    c = 11,
    m = 54, // because the total number of cards is 54
    x0 = 1;

int x[100];
x[0] = …
Run Code Online (Sandbox Code Playgroud)

c++ random algorithm numbers

0
推荐指数
1
解决办法
238
查看次数

标签 统计

c++ ×3

algorithm ×1

file ×1

fstream ×1

io ×1

numbers ×1

process ×1

random ×1

stl ×1

time ×1

winapi ×1