C++ 如何创建一个程序来读取xlib代码

C++ 如何创建一个程序来读取xlib代码,c++,xlib,C++,Xlib,在编码方面有点生疏,但我想我会问这个问题。我正在尝试创建一个程序,可以使用命令行文件名并扫描该文件,以便在xlib中找到三角形的坐标。我知道xlib从一个朋友给我的文件中获取了T28100 23,35 99,54格式的三角形,但在查看并尝试了scanf中的不同表达式后,我似乎无法以一种可以用于算法的方式获取坐标: int main(int argc,char *argv[]) { // First need to scan the file. char *pFilename =

在编码方面有点生疏,但我想我会问这个问题。我正在尝试创建一个程序,可以使用命令行文件名并扫描该文件,以便在xlib中找到三角形的坐标。我知道xlib从一个朋友给我的文件中获取了T28100 23,35 99,54格式的三角形,但在查看并尝试了scanf中的不同表达式后,我似乎无法以一种可以用于算法的方式获取坐标:

 int main(int argc,char *argv[])
{
    // First need to scan the file.
    char *pFilename = argv[1];
    FILE * pFile;
    pFile = fopen(pFilename,"r");
    // char Trig = scanf( ,);
}

您需要完整地定义输入语法,例如以程序的形式定义输入语法,并使用标准技术,可能是为了构建某种内存,以便稍后根据需要显示。您可能希望逐行读取输入,例如,使用,因为您可能需要一些readahead

您需要使用标准技术,也可以在内存中构建某种AST;也许使用代码生成器(如用于词法分析和/或解析)应该是值得的。否则考虑一些手写。

是一个极低级别但非常复杂的库,您需要遵循明确的复杂约定,如。C++中的Linux,最好使用或可能,或…等等…< /P>
请注意,SCANF是C函数,而不是C++函数。您有示例数据吗?另外:在对文件进行操作时,您可能希望使用fscanf,而不是从stdinI读取的scanf。我已经尝试了scanfT%s9之类的东西作为示例:示例数据如下:t20100 55,34 40,60我只是专门查找三角形。这已经偏离了您在问题中提到的格式。不,我只是以num1-6为例。我在我的评论中确实是这么说的。让我编辑一下,是什么让你相信是用T28100 23,35 99,54语法解析文件的?哎呀,这完全是假的!或者请编辑您的问题以提供更多参考。