Tag: 解析

在C中将字符串解析为long

我在python中编写了一个服务器,在C中编写了客户端。 python服务器将“1 1000 \ n”发送到C客户端。 收到此字符串的C函数应将其解析为两个long int。 void receive_job() { char tmp_buffer[256]; long start, stop; recv(sock, tmp_buffer, 255, 0); /* here I wonder how I can parse tmp_buffer to set start and stop values. */ } 我对C不是很精通,所以我很感激对此发表评论。

如何解析C中的URL?

我想知道如何将一个url解析为C中的一个URL对象(某种类型)。这样我就能从一个查询字符串中提取key / val对象。 看过: 用C解析URL的最佳方法是什么? 还有其他一些资源,甚至谷歌代码,但没有找到任何我的口味..而且,不,使用sscanf和正则表达式不是另类。 说,除非我必须编写自己的解析器.. 如果有任何提示或帮助,我会发现这个很棒!

在二叉树中解析和存储字符串时,程序中的Seg Fault

现在我甚至没有得到我的程序的段故障,我很确定它只是永远运行,因为当我运行程序时没有产生输出,甚至没有分段错误。 基本上我想要我的程序要做的是读取4行文件。 然后我们使用用户创建的tokenizer函数和已创建的strtok函数来解析字符串。 然后我想从读入的命令中创建一个二叉树。就像我之前说的那样,我的程序当时没有产生输出,但它确实编译了。 我将发布我拥有的代码和您读入的文件以及示例输出。 我很感激帮助。 #include #include #include #define COMMAND_NAME_LEN 50 #define MAX_SPLIT_SIZE 50 #define MAX_BUFF_SIZE 50 typedef struct Command_ { char name[COMMAND_NAME_LEN]; int expected_param_count; struct Command_ *left; struct Command_ *right; }Command; typedef struct StringArray_ { char **strings; int size; }StringArray; StringArray* tokenizer (char *string, const char* delimiters); void free_string_array(StringArray *sr); void create_commands_tree(Command **commands, […]

在文件解析中使用fgets()

我有一个包含几行的文件。 我正在对文件进行标记,如果标记包含.word ,我想将该行的其余部分存储在c-string中。 所以如果: array: .word 0:10我想将0:10存储在一个c-string中。 我正在做以下事情: if (strstr(token, “.word”)) { char data_line[MAX_LINE_LENGTH + 1]; int word_ret = fgets(data_line, MAX_LINE_LENGTH, fptr); printf(“.word is %s\n”, data_line); } 这个问题是fgets()抓住下一行。 我如何获取当前行的剩余部分? 那可能吗? 谢谢,

在尝试添加可选规则时,切换/减少Bison中的冲突

我正试图解决Bison中的转移/减少冲突。 我有遵循语法规则 new_expr: T_NEW class_name_reference optional_generics_list ctor_arguments { $$ = zend_ast_create(ZEND_AST_NEW, $2, $4, $3); } | T_NEW anonymous_class { $$ = $2; } optional_generics_list: /* empty */ { $$ = NULL; } | generics_list { $$ = $1; } ctor_arguments: /* empty */ { $$ = zend_ast_create_list(0, ZEND_AST_ARG_LIST); } | argument_list { $$ = $1; […]

以逗号分隔的字符串的解析函数

假设我有一个像这样的字符串”cmd,param1,param2″ 。 String是Arduino String类型。 https://www.arduino.cc/en/Reference/String 我想提取用逗号分隔的每个子字符串。 我已经成功编写了像这样的特定案例的代码。 这是代码; String = str_data(‘cmd,param1,param2’); int firstCommaIndex = str_data.indexOf(‘,’); int secondCommaIndex = str_data.indexOf(‘,’, firstCommaIndex+1); String cmd = str_data.substring(0, firstCommaIndex); String param1 = str_data.substring(firstCommaIndex+1, secondCommaIndex); String param2 = str_data.substring(secondCommaIndex+1); 我的问题是有一个解决一般情况的函数。 该字符串可以用任意数量的逗号分隔。 我想有一个看起来像这样的function; String parserCommaDelimited(String input_delimited_str, int nth_param_num) { //implementation } 假设input_delimited_str=”cmd,param1,param2,param3,param4″ parserCommaDelimited(input_delimited_str, 1)返回”cmd” 。 parserCommaDelimited(input_delimited_str, 5)返回”param4″ 。

在C中使用scanf进行解析

我是第一次学习C语言。 我有一个指向一个名为goalie_stat的字符串的指针(见下文)。 我如何使用scanf来解析保存百分比,即933,然后将933分配给变量然后最终打印出来? char *goalie_stat = “PatRoy 2.28 933 35 12 165 199 4 5500” char save_p = scanf(“%[13-15]”, goalie_stat); printf(“%s”, save_p); ‘933’是字符串的第13,14和15个字符,但我知道这是不正确的

从Char *数组中提取数字(C-String)

我有一个以这种格式出现的字符串: .word 40 我想提取整数部分。 整数部分总是不同,但字符串始终以.word开头。 我有一个tokenizer函数,它可以处理除此之外的所有内容。 当我将.word (.word with a space)作为分隔符时,它返回null。 我该如何提取数字? 谢谢

解析开发/输入/事件触摸事件

我能够在Android手机上阅读dev / input / event *中的事件。 然而,它们是按照触摸事件给出的特定顺序的行代码。 3 53 216 3 54 444 3 48 40 3 50 5 0 2 0 0 0 0 如何将它们解析为有意义的事件,例如触摸x和y坐标? 或者长时间触摸等等然后我想将高级事件转换回类似代码以将它们插入事件队列中。 有没有人在C / C ++中有解析器代码? 任何帮助非常感谢。

在C中拆分带有多字符分隔符的char字符串

我想基于多字符分隔符拆分char *string 。 我知道strtok()用于分割字符串,但它适用于单字符分隔符。 我想基于诸如”abc”子字符串或任何其他子字符串来拆分char * string。 如何实现?