字符串及其头文件出现问题
Having problems with string and its header files
#include <iostream>
#include <cstring> //which one should I use...out of these three header files
#include <string> //whats difference in each of them
#include <string.h>
int main()
{
std::string first_name;
std::string second_name;
std::cout << "n First name : ";
std::cin >> first_name;
std::cout << "n Second name : ";
std::cin >> second_name;
strcat(first_name," "); //not working
strcat(first_name,second_name); //not working
std::cout << first_name;
return 0;
}
我之前做过关于 c++ strcat(字符串连接)的程序。我遵循了新的教程和新的IDE编译器(其中包含新的数据类型,即"字符串")。当我使用它尝试相同的方法时,它会给我错误。
错误:- ||=== 构建:在字符串 1 中调试(编译器:GNU GCC 编译器) ===| C:\Users\Admin\Desktop\c++ projects\string1\main.cpp||在函数 'int main()' 中:|
C:\Users\Admin\Desktop\c++ projects\string1\main.cpp|16|error: 无法将参数 '1' 的 'std::basic_string}' 转换为 'char*' 到 'char* strcat(char*, const char*)'|
C:\Users\Admin\Desktop\c++ projects\string1\main.cpp|17|error: 无法将参数 '1' 的 'std::basic_string}' 转换为 'char*' 到 'char* strcat(char*, const char*)'|
||=== 构建失败:2 个错误、0 个警告(0 分钟、0 秒)===|
strcat
是使用字符串的旧式(当然我的意思是char*
)。
现在只需#include<string>
并轻松使用std::string
:
std::string name = "Foo";
std::string lastName = "Bar";
std::string fullname = name+" "+lastName;
std::cout << fullname ; // <- "Foo Bar"
更多: (@michael-克里林-黑客)
<string>
和 <string.h>
是两个不同的标头:
-
<string>
适用于 C++std::string
类 -
<string.h>
用于 C 字符串函数(如strlen()
等),这应该<cstring>
用于 C++ 项目(这是第三个,你不知道)。
More2:如果您更喜欢使用 C 样式,请尝试以下操作:
std::string name = "Foo";
std::string lastName = "Bar";
///
int len = name.length();
char* fullname = new char[len+1];
strncpy(fullname, name.c_str(), name.length());
fullname[len]=' ';
///
strncat(fullname," ", 1);
strncat(fullname,lastName.c_str(), lastName.length());
///
std::cout<<fullname;
- 使用mongocxx驱动程序时包含头文件问题
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- 编译要在英特尔Hyperscan中使用的.cc文件时出现问题
- 使用 seekg() 读取C++中的文件时出现问题
- sqlite3 和生成文件中的链接出现问题
- C++头文件和类实现出现问题
- 用户输入字符串的文件附加问题..C++
- node-gyp 的先有鸡还是先有蛋的问题:指向依赖项中的头文件
- 读取文件并将其存储在unordered_map中时出现问题
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- 我在使用C++文件时遇到了一些问题
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 将文件复制到自定义位置,存在字符串转换问题
- DirectX12 的问题:"d3dApp.h":没有这样的文件或目录
- (ODR 使用问题)在不同文件中priority_queue名称相同的结构
- C++模板编程设计问题 - 根据输入文件返回不同的类型
- 读取制表符分隔的文件时出现问题 C++
- 当我在 CLion 中读取数组中的 txt 文件时C++编码问题
- 使用 RapidXML 解析大型 XML(大小大于 65 KB)文件时出现问题
- C++:读取.BMP文件时出现问题;文件结束时间早于预期