错误总结之——编译文件时出现不允许包含non-ASCII的文字和标识

来源:互联网 发布:matlab经典编程题 编辑:程序博客网 时间:2024/06/03 17:55


复习C语言的时候,做了个多文件包含的小练习,但是出现了错误 non-ASCII characters are notallowed outside of literals and identifiers 

不用说,肯定是文件中包含了非ASCII 字符导致编译不通过,我查了好久才发现是引号的问题。与输入法没关系,用的是系统自带的因为输入法。

先介绍下开发环境:

MAC 10.10.2   command_line_tools命令控制器

步骤 新建一个.C文件 include简单应用.c




include简单应用.c:
/*
 include
 1> 作用:拷贝右边文件的所有内容到#include所在的位置
 2> 自定义的文件用"",系统自带的文件用<>
 3> #include <stdio.h>的目的:拷贝printf函数的声明
 */
#include <stdio.h>int main(){    printf("哈哈哈\n");    //#include "haha/abc.txt"#include "/Users/a002/Downloads/代码/0727/代码/16-include/haha/abc.txt"    return 0;}



所包含的abc.txt:


     abc.txt:    printf("哈哈哈\n");        printf("哇哈哈哈\n");        printf("哈哈哈\n");    printf(“www\n”);




在命令控制器中 进入到目录  /Users/a002/Downloads/代码/0727/代码/16-include 下,输入cc include简单应用.c,回车
编译器会报错:non-ASCII characters are notallowed outside of literals and identifiers


结论:如果你是直接新建.txt文件然后用系统自带的文本编辑器书写代码,那么里面的引号是与在XCODE里面书写的引号不一样,系统自带的编辑器的引号不能被 command_line_tools编译器编译,以下中printf(“11”);是在在.txt文件中的引号,与printf("哈哈哈\n");中的引号不同。
printf("哈哈哈\n");
printf(“11”);


仅仅针对次练习而言,可以用XCODE打开.C文件然后在.C文件中直接输入想包含的文件内容然后复制到abc.txt中即可。

0 0
原创粉丝点击