Tag: 解析

用于C的HTML解析器库

我只需要一个建议。 我有一个程序,它采用有效的HTML,并将其保存到文件,我需要一种方法来解析这个html文件,以检索该html文件中记录的每个图像。 (例如/foo/bar.jpg)。 有没有我可以用来实现这个的HTML解析库?

C中的解析错误

我正在做一些按位操作的家庭作业,它说我的代码有一个“解析错误”我假设它的语法或其他东西……但我找不到丢失的分号或任何东西。 你能否发现为什么我可能会遇到这个问题? int isGreater(int x, int y) { int xSign = (x>>31); int ySign = (y>>31); int check1 = (xSign & ySign) | (~xSign & ~ySign); int same = ( x + ((~y) + 1) )>>31; same = !(same & 0x1); int check2 = (check1 & same) | (~check1 & !xSign); int equal = (!(x […]

解析具有多个公共分隔符C的文件

我正在使用C语言中的基本命令行音乐库,它允许您通过命令行打开文件,并添加艺术家,歌曲标题和发布年份等信息。 一旦退出,它就会将该信息写回同一文件中。 我遇到的问题是试图找到一个正确解析文本文件的解决方案。 例如,输入文件将如下所示: Title: Heirloom, Artist: Basenji, Year Published: 2014 Title: With Me, Artist: Cashmere Cat, Year Published: 2014 我正在研究的项目(反对通常的做法)指出,我们将一行信息存储在如下所示的struct Song : struct Song { char title[250]; char artist[250]; int year_published; }; 每首Song都存储在struct Song类型的数组中,称为music_lib[] 。 我知道如何通过执行以下操作将每一行分成一个特定的struct Song : while(fscanf(input_file, “%s %s %ld”, *temp_title, *temp_artist, *temp_year) != EOF) copy_song_to_music_library(temp_title, temp_artist, temp_year); 我不知道怎么做是如何正确解析文本文件,以便当我有一个已知的格式: Title: Heirloom, Artist: […]

如何在C代码中解析带空格的文件夹路径

我正在使用这个简单的C代码: char * command = NULL; sprintf (command, “ls %s”, folderpath); system(command); 问题是文件夹名称中有空格…我知道在Unix中我需要添加一个“\”,例如ls my \ folder \ name 我怎么能绕过这个? 谢谢!

在C中解析.txt文件

我试图通过C中的.txt文件进行解析。这是我到目前为止所拥有的 void parser() { FILE * rooms; char * theString; char * theToken; char a[ROOM_STRING_LENGTH]; rooms = fopen(“assets/rooms.txt”, “r”); if(rooms == NULL) { printf(“error opening file\n”); } while(fgets(a, ROOM_STRING_LENGTH, rooms) != NULL) { theString = malloc((sizeof(char)*(strlen(a)+1))); strcpy(theString, a); theToken = strtok(theString, ” “); while (theToken != NULL) { printf(“the next token: %s\n”, theToken); theToken = […]

解析选项卡用C编程语言将行转换为数组

给定一个带有此内容的文件(例如myfile.txt)(总是三行): 0 2 5 9 10 12 0 1 0 2 4 1 2 3 4 2 1 4 2 3 3 -1 4 4 -3 1 2 2 6 1 我们如何解析文件,使其存储在数组中,就像它们以这种方式硬编码一样: int Line1[] = { 0, 2, 5, 9, 10, 12 }; int Line2[] = { 0, 1, 0, 2, 4, 1, 2, 3, […]

读取器接口,在C中使用FILE和char *

我正在修改我inheritance的解析器,目前只能通过读取从FILE *读取。 它现在需要能够从char *常量中提取数据,因此可以解析C字符串中的内联文本。 我已经看过以“读者”的forms提供一个简单的界面,所以你可以提供一个文件阅读器和一个char阅读器,解析器可以从中获取字符。 例如: // Inputs const char *str = “stringToParse”; FILE *f = fopen(…); // Creating a reader. Each reader stores a function ptr to a destructor // which closes the file if required and an internal state object. Reader *r = FileReader(f); // -or- Reader *r = CharReader(str); // Start parsing […]

什么是AST,CFG,CLANG,我们如何在死码去除算法中使用它?

我将使用C语言为我们的团队编写一个用于在线事件的死代码删除算法。 要求是…… 读取C程序源文件,其中包含多种forms的死代码。 我们的输出应该是一个文件,它没有任何死码。 在浏览互联网时,我们遇到了SO链接…… 我怎么知道代码中的哪些部分从未使用过? 传统C / C ++项目中的死代码检测 在看到这些链接之前,我们有了基本的想法……使用普通文件流逐行读取输入C文件并存储在字符串数组中。 然后分析这些字符串并确定非常基本的死代码,如if(0)和if(1)等。并制作一个堆栈,用于维护括号。 还有更多…… 但这有一个很大的问题,这个想法将引导我们用字符串操作做更多事情,而不是删除死码。 但看到这些链接后…我们开始了解Clang库,抽象语法树,控制流图等… 但我们对这些图书馆和那些概念都是新手。 我们开始知道它们用于解析C代码。 因此,我们需要一些关于AST,CFG和一些基本指导的基本想法,解释我们如何在我们的代码中使用它… 我们可以将clang库作为像math.h这样的普通库包含在内吗? 我们在哪里可以下载该库? 我们可以在Windows中使用那些Clang库吗?

C中的可变参数scanf

我很好奇是否有可能在C中实现一种可变版本的scanf 。我的意思是如果输入是push (1 2 3) , scanf将能够解析为%s %d %d %d像scanf(“%s (%d)”, string, some_list) 。 它将占用%d所有实例并将它们(按顺序)附加到列表中…… 我在说感觉吗? 编辑:对于指定的输入, string == “push”和some_list == [1, 2, 3] 。

C – 标记的字符数组

我正在尝试解析一行,以便将空格后的每个单词作为char分别保存到数组中。 我试过多种方式,这是其中之一…… char space[] = ” “; char* token; token = strtok(input,space); char array[50]; while (token !=NULL ) { char a; sscanf(token,”%s”, &a); array[i] = a; token = strtok(NULL, space); printf(“\nTOKEN: %s”, a); int++; }