C++ 在c+中读取字符串+;,用c+编译+;

C++ 在c+中读取字符串+;,用c+编译+;,c++,string,compilation,C++,String,Compilation,有人能解释为什么这不起作用,以及是否有其他方法来读取字符串吗?就我所能读取的控制台而言,所有必需的文件都已加载(对于我使用visual studio服务器的pdb文件,我在本地保存了dll。(对于调试器,我是德国人,sry,“geendet”表示它已完成,而不是说有任何问题) 尼尔斯·德雷斯- 首先,我删除了您代码的第一行,即 "ConsoleApplication3.exe" (Win32): "D:\Users\nils\source\repos\ConsoleApplication3\D

有人能解释为什么这不起作用,以及是否有其他方法来读取字符串吗?就我所能读取的控制台而言,所有必需的文件都已加载(对于我使用visual studio服务器的pdb文件,我在本地保存了dll。(对于调试器,我是德国人,sry,“geendet”表示它已完成,而不是说有任何问题)

  • 尼尔斯·德雷斯-

首先,我删除了您代码的第一行,即

"ConsoleApplication3.exe" (Win32): "D:\Users\nils\source\repos\ConsoleApplication3\Debug\ConsoleApplication3.exe" geladen. Symbole wurden geladen.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\ntdll.dll" geladen. Symbole wurden geladen.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\kernel32.dll" geladen. Symbole wurden geladen.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\KernelBase.dll" geladen. Symbole wurden geladen.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\msvcp140d.dll" geladen. Symbole wurden geladen.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\vcruntime140d.dll" geladen. Symbole wurden geladen.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\ucrtbased.dll" geladen. Symbole wurden geladen.
Der Thread 0x4d6c hat mit Code -1073741510 (0xc000013a) geendet.
Der Thread 0x4dc8 hat mit Code -1073741510 (0xc000013a) geendet.
Der Thread 0x486c hat mit Code -1073741510 (0xc000013a) geendet.
Das Programm "[2132] ConsoleApplication3.exe" wurde mit Code -1073741510 (0xc000013a) beendet.
,因为我没有那个文件,它被编译了。也许你也没有那个文件。然后,我在“are blue”前面加了一个空格,所以复数名词和“are blue”没有联系

#include "pch.h"
cout谢谢你@“Radu Z”。你几乎是正确的:问题是,必须使用标题,我不知道为什么,但它必须是空的,我也不知道这在哪里有意义,但我删除了有关名称空间的行,留下了:

cout << pluralNoun << " are blue" << endl;

我非常感谢大家这么快就回答了,我保证在接下来的问题中将我的语言改为英语。关于名称空间,我删除了它,因为我必须使用STD。

从您的问题中,我假设您使用的是Visual Studio。 您应该始终拥有第一个include行

#ifndef PCH_H
#define PCH_H


// TODO: add headers

#endif //PCH_H

正如最近介绍的那样

然后去 项目->属性 然后去 C/C++->预编译头文件

在第一个设置中:预编译头选择创建(/Yc)

在第二个设置中:预编译头文件选择stdafx.h

在第三个设置中:预编译头输出文件选择$(IntDir)$(TargetName).pch


这实际上是定义.pCH文件的地方。

如果你刚开始学习C++,使用VisualStudio,我建议你以这样的方式创建你的项目:

正如选项所说,它将创建一个空项目,您必须在其中手动添加头文件和cpp文件:

头文件应转到头文件夹,cpp文件应转到源文件夹

您遇到的问题是因为在创建新项目时选择了“Windows控制台应用程序”,默认情况下Visual Studio将创建包含名为“pch.h”的预编译头的项目

此标题在稍大的项目中很有用,基本上您应该包含在“pch.h”标题中,您将在多个文件中经常使用这些标题,例如:

#include "pch.h" 
尽可能


希望这对您以后有所帮助。

这是一个讲英语的网站,您的错误消息不可读,您可以临时切换IDE以产生英语错误吗?您应该养成避免使用命名空间std;
的习惯。这可能会导致以后出现问题。您的错误消息不可读。请将其设置为英语。您知道吗使用Ctrl+C结束程序?表示退出代码的意思。第一条消息不相关-只是VS抱怨缺少符号。其余的表示程序退出时带有
0xc000013a
。正如@drescherjm指出的,命令窗口可能已关闭,OP误认为输出有错误。他可能未输入程序期望的3行。这应该是注释
#包括“pch.h”
表示用户可能正在使用启用了预编译头的Visual Studio。如果您启用了此默认设置,并且没有在每个源文件的顶部包含
pch.h
,则会收到一条错误消息。我无法破译您的错误,实际上只有一条消息是重要的。Das Programm“[2132]ConsoleApplication3.exe”沃尔德麻省理工学院代码-1073741510(0xc000013a)beendet其余的对于任何程序都是正常的。这是因为您在项目中启用了预编译头。对于没有太多外部文件的小项目,最好将其关闭。因此,这可能与您遇到的任何问题无关,因为如果您没有
pch.h文件。您根本无法执行它。除非您以任何方式按下“调试”(并且不知何故在同一文件夹中有一个同名的旧exe)关于编译失败,我不明白这是怎么回事。我相信较新版本的Visual Studio默认情况下会查找
pch.h
,而不是
stdafx.h
。我使用的是VS2017,没有注意到,但我可能弄错了。无论如何,问题的解决方案是在e项目的属性。正如这个答案所暗示的,不需要使用预编译头。该问题也不可能由预编译头的问题引起。这些问题会导致编译错误。显然,OP能够编译应用程序,因为他们能够运行它。始终使用预编译头是最佳做法头,但是步骤2可以更改,因此编译器不使用预编译头。无条件使用预编译头肯定不是“最佳实践”。有理由使用预编译头,也有理由不使用预编译头。您必须做出明智的决定。无论如何,OP的代码是编译的,因此尝试修复不存在的编译器错误无助于OP解决问题。
#include "stdafx.h"
#include "pch.h" 
#include <iostream>
#include <string>
using namespace std;