前言
今天在无聊逛以前的贴子,发现一个之前自己在2011-04-04时候问的C++
问题,钝感好奇,于是点了进去。(原帖子:高手来帮忙吧..快喷了)看了一眼好像是,刚刚学C++
的样子,里面总共有两个问题,其中第二个是我们主要今天要探讨的问题。
正文
#include <iostream>
using namespace std;
int main(void)
{int i=1;
while(i<=100){cout<<i+1<<endl;
}
return 0;
}
以上是源代码,除了有点格式结构奇怪以外,看不出有任何的问题,可是偏偏报错了,为什么呢?错误在如下:
/**
1>------ 已启动生成: 项目: 问问, 配置: Debug Win32 ------
1>生成启动时间为 2011-4-4 23:14:42。
1>InitializeBuildStatus:
1> 正在对“Debug\问问.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1> 技能.cpp
1>c:\documents and settings\zhou\my documents\visual studio 2010\projects\问问\问问\技能.cpp : error C4335: 检测到 Mac 文件格式: 请将源文件转换为 DOS 格式或 UNIX 格式
1>c:\documents and settings\zhou\my documents\visual studio 2010\projects\问问\问问\技能.cpp(1): warning C4067: 预处理器指令后有意外标记 - 应输入换行符
1>
1>生成失败。
1>
1>已用时间 00:00:03.39
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
**/
很奇怪吧。Mac文件格式?是什么意思。随后,一位C++
大神在后面给出了答案(可以看出来11年前的贴吧的群众还是很有爱的)
遂发现可能是复制编码格式的问题,于是CSDN一下,在这篇中发现了相同的问题error C4335:检测到Mac文件格式:请将源文件转换为DOS格式或UNIX格式
发生的原因是:代码中部分代码的格式不正确
可能发生的情况:很多时候为了方便,常将代码从其它地方复制而来(如QQ),这样直接复制到编程环境中就有可能出现上面的问题。
解决方法:手动输入或在word编辑好后再复制到VS
其实是个蛮神奇的故事,当年在贴吧也引发了小部分人的围观(当年的贴吧群众好有爱呀= -=!!!)看到了就顺便记录一下吧 哈哈哈
参考
[1] 高手来帮忙吧..快喷了
[2] error C4335:检测到Mac文件格式:请将源文件转换为DOS格式或UNIX格式
Q.E.D.