c - 构建编译器 - 如何检查 char 数组是否为空(使用 fgets)

标签 c

我正在用 C 构建一个汇编编译器,并且我只需要打印包含代码(字母数字字符)的行。 但是,我的编译器无法将 fgets() 指向的字符串识别为空,因为它有时包含空白字符

如何设置条件,仅打印包含字母数字字符的行?

我的代码如下所示:

while(fgets(Line,256,Inputfile)!=NULL)
{   
    i=0;

    while(Line[i]!='\n')
    {               
        Instruction[i]=Line[i]; 
        i++;    
    }

        printf("%s \n",Instruction);
}

谢谢

最佳答案

您必须修剪 fgets 的结果。您可以引用this answer查看显示如何在 C 中修剪字符数组的示例。

希望这可以帮助你。

关于c - 构建编译器 - 如何检查 char 数组是否为空(使用 fgets),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35852331/

相关文章:

c++ - c++ : fread() 中奇怪的文件读取问题

mysql - 如何使用Mysql查询分离不同行中的结果值

c - 指针和二维数组

C++:在另一个函数内声明一个函数不是编译器错误所以......它是什么?

gtk+ 与 glade 生成的 .glade 文件的 c 代码

C循环递增

c - 在 C 中初始化 const 变量

c++ - 设备无法启动。 (代码 10)umdf 驱动程序开发错误

c - 我做了一个 switch case 程序,当我给出输入时它不会执行 switch case

在 C 中创建 CLI 应用程序