Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解由于从doc文件而不是txt文件复制代码而导致的编译错误_C_File_Copy Paste_Codewarrior - Fatal编程技术网

理解由于从doc文件而不是txt文件复制代码而导致的编译错误

理解由于从doc文件而不是txt文件复制代码而导致的编译错误,c,file,copy-paste,codewarrior,C,File,Copy Paste,Codewarrior,情况: 我的micro controller课程讲师拒绝将示例代码保存到文本文件中,而是将其保存到word文档文件中。当我打开文档文件并将代码复制/粘贴到IDE“CodeWarrior”中时,它会在编译时导致错误 我必须将所有代码重写到文本编辑器中,然后将其复制/粘贴到IDE中 我的理解是: 我被告知总是将代码另存为文本文件,因为当您将代码另存为word文档文件时,在将代码复制/粘贴到IDE进行编译时,会引入不需要的字符 我的问题是: 1.) 有人能给我解释一下这个困境,让我更好地理解它吗?下次

情况:

我的micro controller课程讲师拒绝将示例代码保存到文本文件中,而是将其保存到word文档文件中。当我打开文档文件并将代码复制/粘贴到IDE“CodeWarrior”中时,它会在编译时导致错误

我必须将所有代码重写到文本编辑器中,然后将其复制/粘贴到IDE中

我的理解是:

我被告知总是将代码另存为文本文件,因为当您将代码另存为word文档文件时,在将代码复制/粘贴到IDE进行编译时,会引入不需要的字符

我的问题是:

1.)

有人能给我解释一下这个困境,让我更好地理解它吗?下次当我收到错误时,我想提出一个更好的案例,并对正在发生的事情有更多的了解

(二)


当代码来自word文档而不是文本文件时,是否可以编写一个脚本,向我显示正在复制和粘贴到文件中的所有字符?换句话说,是否有一个程序可以让我看到从word文档文件复制/粘贴代码与从txt文件复制/粘贴代码之间的区别

将源代码保存为Word文档是愚蠢的。如果你的导师坚持这一点,那么无论你的论点多么合理和透彻,他们都不会听。他们无能为力

然而,要回答你的问题:1)这取决于你将东西粘贴到什么地方。复制到剪贴板上的程序通常以几种不同的格式提供数据,从它们自己的内部格式到纯ASCII文本,以最大限度地提高兼容性,从而可以将数据粘贴到几乎任何目标程序中。大多数文本编辑器只接受计划文本版本,在这种情况下,不应传输额外字符。但是,如果文本编辑器支持RTF或HTML,则可能不是这样。我不确定CodeWarrior支持什么,但它肯定是可能的

在这种情况下的解决方法:首先粘贴到纯文本编辑器(如记事本)中。然后从记事本复制到CodeWarrior。这将消除任何隐藏的格式。正如shoover上面所说,确保双引号
是真正的双引号,而不是Word有时使用的奇特的左引号和右引号

  • 使用十六进制编辑器查看文件的原始内容,包括非打印字符。或者使用支持显示非打印字符(vi/vim等)的文本编辑器

  • 我在学习C,我也遇到了同样的问题。当处理PDF文件中的一段代码并试图编译它时,gcc会返回一系列错误。阅读上面的答案时,我有了一个想法:“如果我将utf8转换为ascii呢?”。我发现一个网站就是这样做的()但它并没有将utf8字符转换为ascii,而是将它们显示为十六进制(从网站复制到文本编辑器,您可以更好地看到)。从那里我意识到问题主要是引号“”。
    然后,我将ascii“翻译”复制到我的代码编辑器中(我必须补充一点,它在Sublime中工作得很好,而VScode读取的utf8代码与原始文件中的代码相同,即使在从网站获得cp后也是如此)并将所有十六进制替换为正确编译代码所需的实际ascii字符。我使用编辑器中的函数find and replace来完成此操作。我必须说,执行此操作的速度不是很快。但我相信,在某些情况下,如果您试图复制的代码太长,那么按照我刚才描述的方式执行可能会更快r重写整个代码。

    1)默认情况下,在键入<代码>“<代码>或<代码> < /COD>字符时,Word插入”“智能”引用。智能引号与编译器将理解的纯引号是不同的代码点。还有其他的例子,但我认为这是最常见的。在Word中,使用类型“纯文本(*.txt)”、“允许字符替换”将.doc文件另存为.txt文件,将“结束行”调整为“仅限LF”。然后从.txt文件复制/粘贴。使用Word编写代码确实很愚蠢。任何值得拥有硬盘空间的普通代码编辑器都会围绕Word的任何“智能”功能运行。你的教授用它做什么,语法检查他的资料来源?@Jongware我知道他在做什么。你可以评论一下我的最后一个问题“评论”吗。“智能连字符”是另一个问题——一个简单的破折号转换为一个en破折号;非破坏性空间。如果有疑问,我会使用GREP:
    [^[:ascii]]+
    将发现一切都不是ascii。课堂上的一些学生在将代码复制并粘贴到IDE“代码战士”时使用了学校的计算机“windows7”。它以某种方式为它们编译,但当我在Mac上复制并粘贴代码时,我得到了一个编译错误。其他一些人从他们的电脑上复制了代码,并得到了一个编译错误,所以我知道这不仅仅是我的Mac电脑。有人能给我解释一下是什么原因造成的吗。我意识到这可能是我想更好地理解的几个原因。此外,我正在使用Parallels,它让我可以在Mac OS X旁边运行Windows 7。下次有人告诉我这是我的Mac和我的软件“Parallels”,我想陈述一个更好的例子。当我被告知我的Mac电脑导致了这个问题,而这不是Windows的问题时,我真的很讨厌。你能编辑这篇文章,让它包含用于将utf8转换为ascii的网站url吗?bsheps,我的文章中包含了这个链接。