小编rhl*_*lee的帖子

取消 getchar()

我有一个可以进行大量处理的小程序。您可以通过按 Enter 键来打印进度。

我实现这一点的方法是在主线程中完成处理,同时我有一个 pthread 不断在 getchar() 上循环以等待输入键。

问题是当我完成处理时。发生这种情况时,主线程完成,但仍然等待按下 Enter 键,因为 getchar() 正在阻塞。

如何“取消”getchar()?

c pthreads getchar

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

将参数列表传递给Shell中的命令

如果我有一个文件列表说file1... file20,如何运行以文件列表作为参数的命令,例如myccommand file1 file2 ... file20

shell command-line-arguments

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

php preg_match换行符

如何检查/^</p>\n/字符串中的正则表达式

</p>
blahblahblah
Run Code Online (Sandbox Code Playgroud)

我似乎无法从php获得1的返回值preg_match.

编辑:

我出于某种原因的坏处CR本身就是我的换行符.

php regex preg-match

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

C中的运行时条件typedef

我知道这个问题有一个C++版本,但是我使用的是标准的typedef而不是模板.

我编写了一个适用于16位wav文件的程序.它通过将每个样品加载到一个短片中来实现.然后程序在短路上执行算术运算.

我现在正在修改程序,因此可以同时使用16位和32位的wav.我希望做一个条件typedef,即使用16位的short和32位的int.但后来我意识到如果事先不知道变量的类型,编译器可能不会编译代码.

所以我试着测试下面的代码:

#include <stdio.h>

int
main()
{
  int i;
  scanf("%i", &i);

  typedef short test;

  if(i == 1)
    typedef short sample;
  else 
    typedef int sample;

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

并得到以下编译器错误:

dt.c: In function ‘main’:
dt.c:12:5: error: expected expression before ‘typedef’
dt.c:14:5: error: expected expression before ‘typedef’
Run Code Online (Sandbox Code Playgroud)

这是否意味着C中的运行时条件typedef不可能?

[开放式问题:]如果没有,你们将如何处理这样的事情?

c types typedef

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