为什么当我执行sprintf(响应,“%s:%d\n”,查询,结果)
时,我的输出看起来是这样的:
16 easeFrequency HIV 1-1-2003 1-1-2005 Greece
/diseaseFrequency HIV 1-1-2003 1-1-2005 Greece 16
16 easeFrequency HIV 1-1-2003 1-1-2005 Greece
如果我将格式更改为sprintf(response,“%d:%n\n”,query,result)
,并在txt文件中的每个查询末尾添加1个空格,则输出变为:
16 /diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
16 /diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
16 /diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
16 /diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
16 /diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
提示:来自TXT的查询为红色。 每个查询都用新行分隔。
query_txt.示例:
/diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
/diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
/diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
/diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
/diseaseFrequency HIV 1-1-2003 1-1-2005 Greece
我这样读取txt文件:
while(fgets(buffer,MAX_MESSAGE,fp)){
command = strtok(buffer,"\n");
queries[i] = malloc(MAX_MESSAGE*sizeof(char));
memset(queries[i],0,MAX_MESSAGE);
memcpy(queries[i++],command,strlen(command));
line_temp++;
}
我是这样读txt的。
while(fgets(buffer,MAX_MESSAGE,fp)){
command = strtok(buffer,"\n");
queries[i] = malloc(MAX_MESSAGE*sizeof(char));
memset(queries[i],0,MAX_MESSAGE);
memcpy(queries[i++],command,strlen(command));
line_temp++;
}
结果只是一个字符串数字,每次查询响应到来时,我都会
result+=atoi(query_answer)
编辑:在strtok中使用\r\n可以解决这个问题。 如果有人能向我解释为什么这能解决这个问题,我会解释的
连接是指加入。 此函数用于沿指定轴连接两个或多个相同形状的数组。 该函数采用以下参数。 numpy.concatenate((a1, a2, ...), axis) Where, Sr.No. 参数和描述 1 a1,a2.. 相同类型的数组序列 2 axis 必须连接数组的轴。 默认值为0 例子 (Example) import numpy as np a = np.array([[1,2],
描述 (Description) 此函数使用FORMAT根据LIST中的值返回格式化字符串。 基本上与printf相同,但返回格式化的字符串而不是打印。 语法 (Syntax) 以下是此函数的简单语法 - sprintf FORMAT, LIST 返回值 (Return Value) 此函数返回SCALAR,一种格式化的文本字符串。 例子 (Example) 以下是显示其基本用法的示例代码 -
sprintf(格式化字符串复制) 相关函数 printf,sprintf 表头文件 #include<stdio.h> 定义函数 int sprintf( char *str,const char * format,.........); 函数说明 sprintf()会根据参数format字符串来转换并格式化数据,然后将结果复制到参数str所指的字符串数组,直到出现字符串结束(’\0’)为止。关
sprintf 格式化字符串复制 相关函数 printf,sprintf 表头文件 #include<stdio.h> 定义函数 int sprintf(char *str, const char *format, ...); 函数说明 sprintf()会根据参数format字符串来转换并格式化数据,然后将结果复制到参数str所指的字符串数组,直到出现字符串结束(’\0’)为止。关于参数fo
Ruby的sprintf格式与C语言的sprintf(3)基本相同。但还是有些差别: 它没有针对C特有类型的修饰符,如short或long等; 它包含2进制数的指示符(%b); 它不支持sprintf的方言式的语法。 下面就对ruby的sprintf格式进行详细的说明。 sprintf格式的规格如下所示。[]中的部分是可选的。 %[指定参数$][标识符][宽度][.精度]指示符 若想输出`%'本
问题内容: 我想要以下输出: 将从您的充值帐户中扣除27.59欧元的50%。 当我做这样的事情时: 但这给了我这个错误,因为它也考虑使用in 进行替换。我该如何逃脱? 问题答案: 与另一个转义:
问题内容: 我对sprintf感到非常困惑,以至于不同的platfrom出现了一个有趣的问题。代码: 结果在控制台(MSVC2010调试/释放): 64,0 但是,同样的代码在控制台(CentOS64 gcc4.4.6): 64,32 有人会帮助我的,tks! - - - - - - -更新 - - - - - - - - - - - - - 实际上,在indefined中:Windows不支持。
曾经有过这个小功能 喜欢退货的人。 我把它修改为 它开始根据需要返回。我的问题是,为什么这个其他解决方案不起作用? 和/或有没有更有效的方法来做到这一点?这只是我的想法,所以欢迎批评。=)