本文整理汇总了C++中DataBuf::set方法的典型用法代码示例。如果您正苦于以下问题:C++ DataBuf::set方法的具体用法?C++ DataBuf::set怎么用?C++ DataBuf::set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataBuf
的用法示例。
在下文中一共展示了DataBuf::set方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runFile
int32 Interp::runFile(char* filename, uint32 linesz, void* context)
{
DataBuf dbLine;
FILE* fin = NULL;
char* param_string = NULL;
char* token = NULL;
char* line = NULL;
uint32 current_line = 1;
int32 ret = 0, out = 0, k = 0;
ret = dbLine.init(linesz);
if (ret == FAILURE)
return FAILURE;
dbLine.set(0);
dbLine.setCount(0);
dbLine.setLimit(2 * 1024 * 1024);
line = dbLine.toString();
fin = fopen(filename, "r");
if (!fin)
return FAILURE;
while (1) {
/* get a line */
out = Utils::getDelim(line, linesz, '\n', fin);
if (out < 0)
break;
/* remove '\n' and blanks */
while (--out && isspace(toascii(line[out])))
line[out] = 0;
/* remove blanks */
k = (int32) strlen(line);
while (k && isspace(toascii(*line))) {
k--; line++;
}
/* remove empty lines and comments */
if (line[0] == '#' || line[0] == '\0') {
current_line++; continue;
}
/* execute instruction */
param_string = line;
token = Utils::getToken(¶m_string, " \t");
if (token) {
ret = run(token, param_string, context);
switch (ret) {
case BADCOMMAND:
case PARAMPARSINGERROR:
case WRONGPARAMCOUNT:
case PERMISSIONDENIED:
sysHandler(token, current_line, ret, context);
return FAILURE;
default:
usrHandler(token, current_line, ret, context);
}
current_line++;
} else {
current_line++;
continue;
}
}
fclose(fin);
return SUCCESS;
}