c++ for循环拼接字符串
时间: 2024-10-13 16:14:50 浏览: 49
在C++中,你可以使用`std::string`的`append()`函数配合for循环来拼接字符串。`std::string`是一个动态数组,可以方便地添加字符。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = ""; // 初始化一个空字符串
std::string element;
// 假设你想拼接一些名字
for (int i = 0; i < 5; ++i) {
std::cout << "请输入第" << (i + 1) << "个名字: ";
std::cin >> element;
str.append(element); // 拼接到原有字符串
}
std::cout << "拼接后的字符串是: " << str << std::endl;
return 0;
}
```
在这个例子中,用户会被提示输入五个名字,每次输入都会通过`append()`方法追加到`str`中。当你运行这个程序时,最终会得到所有名字组成的完整字符串。
相关问题
C++循环添加字符串
你可以使用循环结构和字符串拼接的方式来实现循环添加字符串。以下是一个示例代码,它使用 for 循环遍历一个字符串数组,并将每个元素与一个空格拼接起来,最终得到一个新的字符串:
```c++
#include <iostream>
#include <string>
int main() {
std::string strArr[] = {"Hello", "world", "!"};
std::string result = "";
for (int i = 0; i < 3; i++) {
result += strArr[i] + " ";
}
std::cout << result << std::endl;
return 0;
}
```
输出结果为:
```
Hello world !
```
你可以根据需要修改这个示例代码来满足你的具体需求。
c++语言怎么删除字符串中的空格
### 回答1:
在C语言中,我们可以使用循环和条件判断语句来删除字符串中的空格。具体步骤如下:
1. 首先,定义一个字符数组变量来存储字符串,例如`char str[] = "Hello World";`,其中包含了多个空格。
2. 创建一个新的字符数组变量来存储删除了空格的字符串,例如`char newStr[sizeof(str)];`。
3. 使用循环遍历字符串中的每一个字符,并判断是否为空格。
4. 如果不是空格,则将该字符添加到新的字符数组中,可以使用索引变量来记录新的字符数组的位置。
5. 最后,在新的字符数组中添加一个空字符`\0`来表示字符串的结束。
6. 最终得到的新的字符数组中就是删除了空格的字符串。
代码示例:
```c
#include <stdio.h>
int main() {
char str[] = "Hello World";
char newStr[sizeof(str)];
int newIndex = 0; // 新字符数组的索引
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') {
newStr[newIndex] = str[i];
newIndex++;
}
}
newStr[newIndex] = '\0'; // 添加字符串结束符
printf("删除空格后的字符串为:%s\n", newStr);
return 0;
}
```
运行以上代码,输出结果为:`删除空格后的字符串为:HelloWorld`,可以看到空格已经成功删除了。
### 回答2:
在C语言中,删除字符串中的空格可以通过遍历字符串的每个字符,将非空格字符复制到一个新的字符串中来实现。具体步骤如下:
1. 定义一个新的字符数组(字符串),用于存储删除空格后的字符串。
```c
char newStr[100];
```
这里假设新字符串长度不会超过100个字符。
2. 使用循环遍历原始字符串中的每个字符。
```c
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
// 如果当前字符不是空格,则将其复制到新字符串中
if (str[i] != ' ') {
newStr[j] = str[i];
j++;
}
}
```
3. 添加字符串结束标志'\0'到新字符串的末尾。
```c
newStr[j] = '\0';
```
4. 删除空格后的字符串已经存储在新字符串中,可以进行后续操作或打印输出。
```c
printf("删除空格后的字符串为:%s\n", newStr);
```
请注意,在删除空格后,新字符串的长度可能会小于原始字符串的长度。
以上就是通过遍历字符数组并复制非空格字符到新的字符数组中来删除字符串中的空格的方法。
### 回答3:
在C语言中,删除字符串中的空格可以通过以下几种方法实现:
1. 使用循环遍历字符串,将空格字符替换为其他字符或者直接删除。代码示例:
```c
#include <stdio.h>
#include <string.h>
void deleteSpace(char* str) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[] = "Hello World!";
deleteSpace(str);
printf("%s\n", str); // 输出结果为"HelloWorld!"
return 0;
}
```
2. 使用库函数strtok将字符串拆分为单词,然后再将单词重新拼接为字符串。代码示例:
```c
#include <stdio.h>
#include <string.h>
void deleteSpace(char* str) {
char* token = strtok(str, " ");
while (token != NULL) {
strcat(str, token);
token = strtok(NULL, " ");
}
}
int main() {
char str[100] = "Hello World!";
deleteSpace(str);
printf("%s\n", str); // 输出结果为"HelloWorld!"
return 0;
}
```
3. 使用递归函数删除字符串中的空格。代码示例:
```c
#include <stdio.h>
#include <string.h>
void deleteSpace(char* str, int index) {
if (str[index] == '\0') return;
if (str[index] != ' ') {
deleteSpace(str, index + 1);
return;
}
memmove(&str[index], &str[index + 1], strlen(str) - index);
deleteSpace(str, index);
}
int main() {
char str[] = "Hello World!";
deleteSpace(str, 0);
printf("%s\n", str); // 输出结果为"HelloWorld!"
return 0;
}
```
以上是三种常见的在C语言中删除字符串中空格的方法,你可以根据具体需求选择其中一种进行实现。
阅读全文