小编Som*_*dom的帖子

C++命令无序执行

我试图制作一个简单的shell程序,看一些例子已经看到大多数人使用getline()来获取输入,但是我一直在尝试使用read()并注意到一个奇怪的错误,我想知道是否其他人们看到或知道原因.

当我使用getline运行代码时,一切正常.运行程序后,我会显示终端名称,并准备好接受输入.当我使用read时,它似乎是在接受输入后执行shell的名称.无论我做什么,这似乎都会发生.显示shell名称的行是

cout << "SweetShell-> ";
Run Code Online (Sandbox Code Playgroud)

然后在这一行之后我运行read命令,或者甚至调用另一个进程然后运行read命令,并且在输入之后打印"SweetShell->".

即使在测试期间我也有一块代码,如:

cout << "SweetShell-> ";
int test = read(0,buf,MAX_ARGS);
//temp is a string that is set to the input
cout << temp << "    " << test;
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

    3SweetShell-> ls
Run Code Online (Sandbox Code Playgroud)

意思是它打印空格,然后测试,然后是第一个cout,最后是temp.任何人都知道这是怎么回事?

c++ operator-precedence

6
推荐指数
2
解决办法
1828
查看次数

Java,多个线程,一次只执行一个

我正在进行一项任务,必须创建两个类,一个代表一个人,另一个代表一个桥.任何时候只有一个人可以"穿越"这座桥,但可能有人在等待穿越

我通过多线程轻松实现了这一功能,允许多个人同时进行交叉,但是在更改它时只有一个线程运行时我遇到了问题...

我的主要问题是他们想要的类设计,我必须在person类中开始线程,但是桥类需要能够等待并通知它们启动/停止

我有什么想法可以做到这一点?

java multithreading critical-section

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

SQL Update语句 - "SET"附近的语法错误?

我基于一些coldfusion逻辑生成下面的sql语句,但它是错误的,我似乎无法找到原因,我尝试对它进行许多不同的修改,似乎没有任何帮助.

UPDATE MAIN_RECORDS 
SET JONUM = NULL, 
SET CUSTNAME = 'Super Sweet Name', 
SET CONTACTDT = 02/28/2011, 
SET ENGRECDT = 03/07/2011, 
SET HOW_WR_DT = 03/07/2011, 
SET COMM_DT = 03/29/2011, 
SET FACAVALDT = NULL, 
SET FAX_SUPDT = 03/07/2011, 
SET LINENUM = 'CLPRO L6', 
SET POLENUM = 'CLPRO 125 T T3', 
SET REASON = '03/07/11 NO VAC FAC THIS IS THE WRONG INFORMATION IT WAS ON HERE TWICE', 
SET REC_TYPE = 'H', 
SET ORDER_TYPE = 'P', 
SET CANCEL_ORDER = 'Y', 
SET State_abbr …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-update

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