cout输出中文,奇怪的错误!

凌晨三点至今 2011-08-23 04:24:40
用vs2010建了一个控制台工程,尝试fstream打开中文路径的文件,失败后上网搜索,发现这是一个通病,再后来把程序删的只剩下以下几行:
#include "iostream"

using namespace std;

void main()
{
cout<<"好"<<endl;
}
编译却出现了如下错误:error C2001: newline in constant
error C2143: syntax error : missing ';' before '}'
我重新建了一个控制台工程,打上上边几行代码,没有任何问题,可是上一个工程编译死活通不过,是哪个地方设置的不对吗?
...全文
571 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
追求执着 2011-08-23
  • 打赏
  • 举报
回复
这种问题自己看看!
吾子墨鸿 2011-08-23
  • 打赏
  • 举报
回复
你的分号是中文下输入的!
hangang7403 2011-08-23
  • 打赏
  • 举报
回复
我编译了一下,没有出现问题
turing-complete 2011-08-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhao4zhong1 的回复:]

关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:

A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(理由:打字准确度偏低、粗心大意)
……
[/Quote]

这是来砸场子的啊
凌晨三点至今 2011-08-23
  • 打赏
  • 举报
回复
不是全角/半角的问题,全角,半角下的对比:"";"";我明显输入的是半角
5t4rk 2011-08-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhao4zhong1 的回复:]

关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:

A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(理由:打字准确度偏低、粗心大意)
……
[/Quote]

老赵 加加
++
赵4老师 2011-08-23
  • 打赏
  • 举报
回复
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:

A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)

如果想从A变成B的话,到我的资源http://zhao4zhong1.download.csdn.net/里面下载“适合程序员的键盘练习”
luciferisnotsatan 2011-08-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 akirya 的回复:]

1 使用了中文标识符
2 使用fstream之前 先调用 setlocale( 0 ,"chs" );
[/Quote]
设置下本地区域,不然可能输出乱码。

不过lz的错误是直接build没过,是不是有什么符号用了全角?

Error Message
newline in constant


A string constant cannot be continued on a second line unless you do the following:

End the first line with a backslash.

Close the string on the first line with a double quotation mark and open the string on the next line with another double quotation mark.

Ending the first line with \n is not sufficient.

Example
The following sample generates C2001:

Copy Code
// C2001.cpp
// C2001 expected
#include <stdio.h>

int main()
{
printf_s("Hello,
world");
printf_s("Hello,\n
world");
}


Spaces at the beginning of the next line after a line-continuation character are included in the string constant. None of the examples shown above embed a newline character into the string constant. You can embed a newline character as shown here:

Copy Code
// C2001b.cpp
#include <stdio.h>

int main()
{
printf_s("Hello,\n\
world");

printf_s("Hello,\
\nworld");

printf_s("Hello,\n"
"world");

printf_s("Hello,"
"\nworld");

printf_s("Hello,"
" world");

printf_s("Hello,\
world");
}

nice_cxf 2011-08-23
  • 打赏
  • 举报
回复
“”;3个字符中的某些使用的是全角的,切换输入法,把这3个重新覆盖一下就行了
  • 打赏
  • 举报
回复
1 使用了中文标识符
2 使用fstream之前 先调用 setlocale( 0 ,"chs" );

64,677

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧