本文整理汇总了C++中Data::Add方法的典型用法代码示例。如果您正苦于以下问题:C++ Data::Add方法的具体用法?C++ Data::Add怎么用?C++ Data::Add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Data
的用法示例。
在下文中一共展示了Data::Add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: strlen
//.........这里部分代码省略.........
{
case 2:
if( str_match(argv[1], "-v") )
{
printf("Version 1.%d by Roman Dremov 2015\n", GLPVERSION);
return 0;
}
name = argv[1];
break;
case 3:
if( *argv[1] == '-' )
{
if( str_match(argv[1] + 1, "c") )
bCount = true;
else
opts = argv[1] + 1;
name = argv[2];
}
break;
}
bool bValid = true;
if( !name )
bValid = false;
Options options;
if( bValid && opts )
{
for(int ii=strlen(opts)-1; ii>=0; ii--)
{
if( !options.Parse(opts[ii], NULL) )
{
bValid = false;
break;
}
}
}
if( !bValid )
{
char cc;
char* str = buf;
char space[] = " ";
for(cc='a'; cc<='z'; cc++)
{
if( options.Parse(cc, space) )
*str++ = cc;
}
*str = 0;
printf("USE:\n"
"\tglp -v\t\t\t\tto get version info\n"
"\tglp -c gitolite.log\t\tto count entries\n"
"\tglp gitolite.log\t\tto output all entries\n"
"\tglp [-%s] gitolite.log\tto output entries hierarchically\n", buf);
printf("OPTIONS (order defines report sorting hierarchy):\n");
str = buf;
*str = 0;
for(cc='a'; cc<='z'; cc++)
{
if( options.Parse(cc, space) )
{
sprintf(str, "\t%c - ", cc);
str += strlen(str);
str += options.Parse(cc, str);
strcat(str, "\n");
str += strlen(str);
}
}
*str = 0;
printf("%s", buf);
return ERROR_ARG;
}
FILE* pf = fopen(name, "r");
if( !pf )
{
printf("File does not exist: %s\n", name);
return ERROR_FILE;
}
Data data;
do
{
char* str = fgets(buf, sizeof(buf), pf);
if( str )
{
Packet packet;
if( packet.Parse(str) )
data.Add(packet);
}
} while( !feof(pf) );
fclose(pf);
data.Out(bCount);
return ERROR_OK;
}