c/c++里将以空格隔开的字符放进数组的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c/c++里将以空格隔开的字符放进数组的函数相关的知识,希望对你有一定的参考价值。

一个字符串是这样 test 123 opop fasas 每个单词间有一个或多个空格
把他们分别放进字符数组中 有这样的函数吗

参考技术A /* strtok example */
#include <stdio.h>
#include <string.h>

int main ()

char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)

printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");

return 0;


#include <iostream>
#include <sstream>
#include <string>
using namespace std;

int main()

string s("Somewhere down the road");
istringstream iss(s);

do

string sub;
iss >> sub;
cout << "Substring: " << sub << endl;
while (iss);

return 0;


#include <vector>
#include <string>
#include <sstream>

using namespace std;

int main()

string str("Split me by whitespaces");
string buf; // Have a buffer string
stringstream ss(str); // Insert the string into a stream

vector<string> tokens; // Create vector to hold our words

while (ss >> buf)
tokens.push_back(buf);

参考资料:http://ghostjay.blog.51cto.com/2815221/927439

本回答被提问者采纳
参考技术B 空格符号和空字符是不一样的,在ASCII里面,空格(space)符号的ASCII码是0x20,而空字符是0x0, 2个是完全不一样的2个字符呵呵.
空字符 一般来描述一个字符串的结尾,其实是控制符的一种,但不能理解为没有字符,应该理解为代表什么都没有的字符.好比回车0x0A和换行0x0D虽然不显示,但是也是控制字符的一种.(这些字符以前是用于打印机的,所以很多都没有用了)
字符串的概念:在C语言中,字符串是指由若干个有效字符(其中包括字母、数字、转义字符、等)组成的系列,以'\0'作为字符串结束标志。'\0'是一个“空操作”字符,它不做任何操作,只是一个标志。'\0'的代码值为0,它不计入串的长度。

还有这里需要注意下在接受字符串的时候,如果用scanf来接收的话,字符串中不能含有空格,否则将以空格作为串的结束符。如果你键入得是harry potter 那么实际上scanf只能获取harry这个单词。所以要接收空格的话可以用gets()这个函数。
参考技术C 这个要自己编写

C语言 将一个字符串转换为字符,每两个字符间用空格隔开

#include<stdio.h>
#include<string.h>
void insert(char str[])
	int i;
	for(i=strlen(str);i>0;i--)
		str[2*i]=str[i];
		str[2*i-1]=' ';
	
	printf("转换为字符:%s",str);

int main()
	char str[32];
	printf("请输入一个字符串:");
	scanf("%s",str);
	insert(str);
	return 0;

以上是关于c/c++里将以空格隔开的字符放进数组的函数的主要内容,如果未能解决你的问题,请参考以下文章

Java中怎么读入一行输入空格隔开的多个数据

(C语言编程)输入一个英文句子,将每个英文单词的头字母变为大写,单词之间用空格隔开

C语言 将一个字符串转换为字符,每两个字符间用空格隔开

js 数组对象,数组的使用

Java中怎么读入一行输入空格隔开的多个数据

c++,cin/cout 如何输入输出字符串数组