小编Cel*_*tas的帖子

switch语句匹配非ascii字符

我在源代码中添加了字符,并尝试用等效的unicode替换它们.如果我使用实际的非ascii字符,程序将编译并正常工作,但我担心这可能会影响可移植性.当我尝试使用unicode等效时,我得到警告:case标签值超过typewarning的最大值:字符常量对于它的类型来说太长了,并且在运行程序时情况永远不会匹配.

for(int i = 0; i < ent->d_namlen; i++)
{
    switch(ent->d_name[i])
    {
        case 'á' : //0x00E1
        ...
    }
 }
Run Code Online (Sandbox Code Playgroud)

ent是struct dirent *ent从调用函数传递的.

在地方的case 'á' :我试过case '0x00E1' :,case L 'u00E1 :,case \U000000E9 :case '\u00E1' :我已经尝试了所有,而不单引号在这种情况下,它不会编译(例如说,\ u00E1没有在这个范围内声明).

c++ character-encoding

7
推荐指数
1
解决办法
1270
查看次数

fork创建父进程副本的过程有什么意义?

我知道"为什么会这样"的答案是因为这种语言是如此发明的,但似乎浪费了很多精力,fork()产生了一个叫做它的过程的副本.也许它有时是有用的,但是大多数时候有人想要开始一个新的过程它不是一个重复的呼叫者?为什么fork创建一个相同的进程而不是一个空的或一个通过传递参数定义的进程?

来自yolinux

fork()系统调用将生成一个新的子进程,该进程与父进程完全相同,除了具有新的系统进程ID

换句话说,什么时候开始使用父进程的副本是有用的?

c c++ fork

7
推荐指数
2
解决办法
1490
查看次数

Python脚本必须将函数定义为main吗?

必须/应该Python脚本有main()功能吗?例如,可以替换

if __name__ == '__main__':
  main()
Run Code Online (Sandbox Code Playgroud)

if __name__ == '__main__':
  entryPoint()
Run Code Online (Sandbox Code Playgroud)

(或其他一些有意义的名字)

python coding-style python-3.x

7
推荐指数
2
解决办法
483
查看次数

有没有办法让控制台窗口在程序完成后保持打开状态并在1次击键后关闭?

命令行程序在完成执行后始终关闭窗口.我知道你可以cin.get();用来等待用户输入输入.有没有办法用户可以按任意键(而不是输入的东西然后按回车)关闭程序?我不想使用system("PAUSE")它的Windows特定和慢.

我希望它暂停,以便用户可以看到它已成功完成和其他详细信息.它可能不会从已经打开的命令行运行,并且可以双击运行可执行文件.

c++ command-line

6
推荐指数
1
解决办法
151
查看次数

在 where 子句中使用“AND”时出现错误“参数必须是布尔类型”

错误:AND 的参数必须是布尔类型,而不是不同类型的字符

SELECT 
    partno, 
    count(manufacturer) 
FROM 
    components 
WHERE 
    partno IN (SELECT partno FROM productions 
               WHERE 
                    year = 2005
                AND attr is NULL
              ) 
GROUP BY partno
UNION
SELECT 
    partno, 
    count(manufacturer) 
FROM components 
WHERE 
    partno IN (SELECT partno FROM productions 
               WHERE 
                   year = 2005
               AND attr is NULL
              ) 
GROUP BY partno
) 
AND (
        partno NOT IN (SELECT partno FROM components
    )
); 
Run Code Online (Sandbox Code Playgroud)

union 后面的部分是包括所有不在生产中的组件的partno(它们应该算作0)

sql postgresql

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

数据链路层和链路层有什么区别?

数据链路层和链路层有什么区别?他们的意思是一样的吗?

networking data-link-layer protocols

6
推荐指数
1
解决办法
9477
查看次数

无法在Ajax响应后重新触发CSS 3动画

这是一个HTML表单

<form method="post" action="camount.php" id="loginForm">
  <span id="heading">
    Username: <input type="text" name='us' id='us'/><br />
    Password: <input type="password" name='pa' id='pa'/><br />
  </span>
  <input type="button" value="Sign in" onclick="isPasswordCorrect(document.getElementById('us'), document.getElementById('pa'))" /><br />
  <span class="animated shake" id="report"></span>
</form>
Run Code Online (Sandbox Code Playgroud)

以下是调用的JavaScript函数的相关代码

if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
  if(xmlhttp.responseText)
    document.getElementById("loginForm").submit()
  else{ 
    document.getElementById("report").style.webkitAnimationName = "";
    setTimeout(function (){
    document.getElementById("report").style.webkitAnimationName="animated shake";
    }, 0);
    var element = document.getElementById('report');
    element.innerHTML = "wrong password/username"   
    password.value = ""
  }
}
xmlhttp.open("post", "CheckCred.php", true)
//required for sending data through POST
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
xmlhttp.send("name="+encodeURIComponent(name.value)+
             "&password="+encodeURIComponent(password.value))
Run Code Online (Sandbox Code Playgroud)

这是CSS应该使 …

javascript ajax animation javascript-events css3

6
推荐指数
1
解决办法
609
查看次数

如何在Windows上调试C程序?

我从来没有使用过调试器,现在是时候尝试一下了.MinGW似乎带有我一直在尝试使用的GDB.从命令行开始运行gdb并输入run myprog.exe启动调试器,但是当我这样做时,我得到了

启动程序:C:\ MinGW\bin\myprog.exe MyProg.exe [New Thread 1828.0xd8c]打开文件时出错.[Inferior 1(流程1828)退出,代码为02]

如何进行或更简单的方法?

特别是我试图清除未定义的行为.

c windows debugging gdb mingw

6
推荐指数
1
解决办法
7974
查看次数

用cin检测输入结束

我想从用户那里读取一行整数。我不确定如何检查输入是否已结束。例如,我希望能够做类似的事情

int x[MAX_SIZE];
int i = 0;
while(cin.hasNext())
{
  cin >> x[++i];
}
Run Code Online (Sandbox Code Playgroud)

输入示例:2 1 4 -6

我如何检查是否还有其他cin需要服用的东西?

c++ user-input

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

现代 CPU 与 GPU 可以完成多少级流水线?

我在这些幻灯片中注意到GPU 通常比 CPU 具有更深的流水线。

GPU 具有更深的管道(几千个阶段,而 CPU 则有 10-20 个阶段)

我想找到更多的数字,但尝试谷歌搜索,但没有找到任何数字。我注意到这篇维基百科文章指出 Pentium 4 prescott 是深度流水线的。

定性地说,流水线怎么可能有3级以上呢?考虑到获取/解码/执行周期,这只是三件事?是否有多个功能单元,例如有超过 1 个解码器,因此一次可以解码超过 1 条指令?记忆中怎么能同时有超过一件东西是红色的呢?

请记住在您的答案中包含有关管道级别的数字。

cpu assembly gpu cpu-architecture

6
推荐指数
1
解决办法
1240
查看次数