#ifndef EIGHT_BIT
#define THIRTYTWO_BIT // default 32 bit
#endif
#ifdef THIRTYTWO_BIT
#define WORD unsigned long
#define WORDLENGTH 4
#if defined(WIN32) && !defined(__GNUC__)
#define WORD64 unsigned __int64
#else
#define WORD64 unsigned long long
#endif
// THIRTYTWO_BIT
#endif
#ifdef EIGHT_BIT
#define WORD unsigned short
#define WORDLENGTH 4
// EIGHT_BIT
#endif
Run Code Online (Sandbox Code Playgroud) 我需要一个函数来返回一个字符串.我使用以下代码来声明函数:
const char* serv_con(char app_data[50])
{
char send_data[1024],recv_data[1024];
//i am avoiding code segments irrelevant to the issue.
return recv_data;
}
Run Code Online (Sandbox Code Playgroud)
然后像这样调用main中的函数:
int main()
{
char ser_data[50], app_data[50];
ser_data[0] = '\0';
app_data[0] = '\0';
//avoiding code segments irrelevant to the issue.
app_data = serv_con(ser_data); //function call
}
Run Code Online (Sandbox Code Playgroud)
编译时会出错:
connect.c:109: error: incompatible types when assigning to type ‘char[50]’ from type ‘const char *’
Run Code Online (Sandbox Code Playgroud)
然后我用std :: string 替换了声明中的const char.声明现在如下:
std::string serv_con(char app_data[50])
{
char send_data[1024],recv_data[1024];
//avoiding code segments irrelevant to the …Run Code Online (Sandbox Code Playgroud) 我看到有人使用这种方法来增加变量:
r = (r + 1) & 0xf;
Run Code Online (Sandbox Code Playgroud)
这种方法比仅使用更好/更快:
r++;
Run Code Online (Sandbox Code Playgroud)
为什么有人会使用按位,如果只是重复,则使用0xf?
我正在研究第二个Euler的问题,但是现在我只是试图定义Fibonacci序列.目前,我将我的Fib功能定义为
Fib 0 = 0
Fib 1 = 1
Fib x = Fib (x - 1) + Fib (x - 2)
Run Code Online (Sandbox Code Playgroud)
因为我希望程序依赖于我的键盘输入,所以我使用了
main = do
putStrLn "Enter desired Fibonacci index: "
"index" <- getLine
putStrLn Fib x
Run Code Online (Sandbox Code Playgroud)
并将x定义为 x = read "index"
我很确定我弄乱了缩进和语法.根据我修改代码的方式,运行"ghc /dir/file.hs会让我感觉不到"不在范围内:数据构造函数`Fib'"或"解析错误(可能是错误的缩进)".我真的,真的不喜欢我知道我在做什么,特别是关于如何设置.hs以便编译友好.我已经阅读了大约7个关于使用GHC进行编译的教程,但他们似乎都跳过他们解释的部分编译的基本要求.
如果有帮助,请告诉我如何更具体.我认为我试图理解的两件事是整个"主要"事物是如何与编译相关的,以及如何让它被识别我已经将Fib定义为函数,即使它说它不在范围内.
PS:我无法弄清楚这里的缩进,Stack似乎想把所有东西放在一行,所以我必须把它全部分开.抱歉.
这是代码.我不知道它为什么不承认它需要复制内存,我不能强迫它.
string message="The quick brown fox jumped over the lazy dog.";
vector<char*> words;
while(message.length()>0){
char wtf[message.substr(0,message.find(" ")).c_str().length()]=message.substr(0,message.find(" ")).c_str();
words.push_back(wtf);
message=message.substr(message.find(" ")+1);
}
Run Code Online (Sandbox Code Playgroud)
我看到有类似的线程,但没有.而且,C++似乎无法轻易解决这个问题.
我正在为Windows命令提示符编写批处理文件,我想使用FOR/R以递归方式遍历目录中的文件 .
但是,在循环内部我想检查扩展名.txt的文件或可能是其他扩展名以便跳过.
我怎样才能做到这一点?在FORFILES中有@ext用于什么?
另外,在命令提示符下是否有类似regexp的东西?
在下一个代码中:
mov ebx, 0xFF
add ebx, 1
Run Code Online (Sandbox Code Playgroud)
为什么没有设置Carry标志?
ebx = 11111111
+ = 00000001
100000000
Run Code Online (Sandbox Code Playgroud) 我希望有人可以指出我正确的方向,找出为什么我收到以下错误:
$~/display/triangleDisplayable.cc:4: undefined reference to `Displayable::Displayable()'
Run Code Online (Sandbox Code Playgroud)
我试图抽象一个类,Displayable并有一个triangleDisplayable实现其方法的类.我有两个头文件是"Displayable.h":
class Displayable {
public:
Displayable();
virtual int getSizeOfArrays() = 0;
void display(int size);
private:
virtual void init() = 0;
virtual int getSizeOfPointsArray() = 0;
virtual int getSizeOfNormalsArray() = 0;
};
Run Code Online (Sandbox Code Playgroud)
和"triangleDisplayable.h"
#include "Displayable.h"
class triangleDisplayable : public Displayable
{
public:
triangleDisplayable();
int getSizeOfArrays();
private:
void init();
int getSizeOfPointsArray();
int getSizeOfNormalsArray();
};
Run Code Online (Sandbox Code Playgroud)
然后我有"Displayable.cc"
#include <iostream>
#include "Displayable.h"
Displayable::Displayable() {
std::cout << "testing Displayable constructor" << std::endl;
}
void Displayable:display(int size) …Run Code Online (Sandbox Code Playgroud) 我想知道什么时候我有一个名为 tex 的纹理,我用glBindTexture(...)和 来创建它glTexImage2D(...)。
如果我想将它绑定到特定的纹理单元,我glActiveTexture(GL_TEXTURE0);什么时候调用?
我正在尝试理解如何应用来自Haskel的Maybe-idiom ..我正在阅读http://en.wikibooks.org/wiki/Haskell/Understanding_monads/Maybe,它表明在字典中查找可能会返回a Maybe和该值通过>>=运营商提出.
来自URL的示例:
如果我们想在第三次查询中使用政府数据库查询的结果(比如我们想要查看他们的注册号以查看他们是否欠任何汽车税),那么我们可以扩展我们的getRegistrationNumber函数:
getTaxOwed :: String -- their name
-> Maybe Double -- the amount of tax they owe
getTaxOwed name =
lookup name phonebook >>=
(\number -> lookup number governmentalDatabase) >>=
(\registration -> lookup registration taxDatabase)
Run Code Online (Sandbox Code Playgroud)
或者,使用do-block样式:
getTaxOwed name = do
number <- lookup name phonebook
registration <- lookup number governmentalDatabase
lookup registration taxDatabase
Run Code Online (Sandbox Code Playgroud)
题:
我该如何处理错误处理?我认为大多数代码都会从告诉出错的地方中受益.它不应仅报告"无法在电话簿或政府数据库中找到John Doe",而应报告哪个资源存在问题.
我正在使用ereg方法验证URL.这是我的代码:
function validationURL($URL) {
if (ereg("^(http://www|www)[.]([a-z,A-Z,0-9]+)([-,_])([a-z,A-Z,0-9]+)[.]([a-z,A-Z]){2,3}[.]?(([a-z,A-Z]){2,3})[/]?[~]?([/,a-z,A-Z,0-9]+)?$",$URL)){
return true;
} else {
return false;
}
}
if ($website !="" && $website !=NULL) {
if (validationURL($website)){
$websiteOk = true;
} else {
$errmsg = $errmsg . "URL Is Invalid.<br>";
$websiteOk = false;
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我这段代码有什么问题.我测试了www.google.com.my但它没有用.
那些是数组约束:数组有自定义大小,我将在程序顶部读取,这将是指向我自己的类Tree的指针数组,数组需要每个单元格的恒定读取时间.
这是我的代码不起作用:
scanf("%d %d",&n,&q);
Tree *pointers = new Tree[n];
pointers[0]->value = NULL;