c++ - 在 C++ 中读取字符串,在 C++ 中编译
问题描述
#include "pch.h"
#include <iostream>
#include <cmath>
#include <string>
#include <cstring>
#include <sstream>
#include <istream>
using namespace std;
int main()
{
std::string color, pluralNoun, celebrity;
std::cout << "enter a color: ";
std::getline(cin, color);
std::cout << "enter a plural noun: ";
std::getline(cin, pluralNoun);
std::cout << "enter a celebrity: ";
std::getline(cin, celebrity);
cout << "Roses are " << color << endl;
cout << pluralNoun << "are blue" << endl;
cout << "I love " <<celebrity <<endl;
return 0;
}
你好开发者..
简而言之:我来自 Java ..
够了吗?我在阅读字符串方面已经遇到了很大的问题,并且不得不搜索大约 50 页来寻找所需的库。此外,我在声明中包含了命名空间 std,但是当我在 cout 之前删除 std 时收到一条错误消息。
"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.
谁能解释为什么这不起作用,以及是否有其他方法可以读取字符串?据我可以读取控制台,所有必需的文件都已加载(对于我使用 Visual Studio 服务器的 pdb 文件,我在本地保存的 dll。(对于调试器,我是德国人,“geendet”表示它已完成,而不是那里有什么问题)
- 尼尔斯·德雷斯——
解决方案
如果您刚开始学习 c++ 并使用 Visual Studio,我建议您以这种方式创建项目:
正如选项所说,它将创建一个空项目,您必须在其中手动添加头文件和 cpp 文件:
头文件应转到 Header 文件夹, cpp 文件应转到 Source 文件夹。
您遇到的问题是,当您创建新项目时,您选择了“Windows 控制台应用程序”,默认情况下,Visual Studio 将创建包含名为“pch.h”的预编译头文件的项目。
这个头文件在更大的项目中很有用,基本上你应该包含在“pch.h”头文件中,你会经常在多个文件中使用,比如:
#include <iostream>
#include <string>
等等......然后你应该在最顶部的cpp文件中包含“pch.h”。
警告 tho,这甚至不是该主题的基础知识,但是如果您只是开始尝试并尝试一下,我认为处理一个空项目会更容易,但是以后对预编译的标头进行一些研究,它们非常有用。
也如其他提到的,尽量避免
using namespace std;
越多越好
希望这对您以后有所帮助。
推荐阅读
- python - Python:我在模块内使用时间值,但在程序中多次需要时间
- python - 如何遍历嵌套列表,在搜索索引之前打印索引的值
- web-scraping - 如何在单页应用程序中单击其后面的元素之前等待上述对话框消失
- c# - C# 中的多行正则表达式
- python - 当所有任务都在等待时立即取消python asyncio任务
- ruby-on-rails - 提供的示例上的 DocuSign API ERROR 通用错误
- python - 有没有办法将时间权重传递给损失函数?
- c# - 在 .NET Standard 中使用资源字典
- cmake - "cmake --build 。 [ -- -j
]"。这个命令是什么,我如何让它工作?安装ROOT - python - Q.二叉树中是否存在节点? [python] 如何在给定代码中返回 True 或 false