C语言中输入字符串,里面有空格,怎么根据空格把字符串分开,并存在数组里?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中输入字符串,里面有空格,怎么根据空格把字符串分开,并存在数组里?相关的知识,希望对你有一定的参考价值。

参考技术A

程序源码如下:

#include<stdio.h>

#include<string.h>

int main(void)


char str[1000];//定义一个字符串数组

char strnew[1000];//定义一个备用字符串数组

char m[] = " ";//定义空格变量

printf("请输入一串字符:");//文字提示输入字符串

gets(str);//输入字符串

char *p = strtok(str,m);//取str与m的指针

printf("%s\\n",p);  //输出

p = strtok(NULL,m); 

while(p)  //遍历输出

      

printf("%s\\n",p); //输出字符串

p = strtok(NULL,m);  //指向下一个

程序输出结果:


扩展资料:

C语言:输入一个字符串放入数组里,删除其中的空格

#include <stdio.h>

#include<string.h>

#define N 100

void main()                   


int i=0,j;

char c,str[N];

printf("输入字符串str:\\n");

while((c=getchar())!='\\n')


str[i]=c;//输入字符串

i++;

str[i]='\\0'; 

for(i=0;str[i]!='\\0';i++)


 if(str[i]==' ')


for(j=i+1;str[j]!='\\0';j++)


str[j-1]=str[j];    


str[j]='\\0';


else continue;


str[i-2]='\\0';

printf("去掉空格后的字符串为:\\n");

for(i=0;str[i]!='\\0';i++)

printf("%c",str[i]);

printf("\\n");

MYSQL语句中有空格如何解决?

UPDATE cdb_posts SET message=REPLACE(message,'123 456','1234') where tid=123456;

这个替换语句中需要替换的内容有空格,请问该怎么处理呢?
但事实上我执行这个语句了,123 456并没有替换成1234

1、首先replace函数可以做到替换【'123 456'】为【'1234'】,测试log如下:

mysql> select replace('123 456','123 456','1234');
+-------------------------------------+
| replace('123 456','123 456','1234') |
+-------------------------------------+
| 1234 |
+-------------------------------------+
1 row in set (0.05 sec)

2、如果你想去掉【message】中的所有空格的话
【replace(message,' ','')】就可以的。测试log如下:

mysql> select replace('1 2 3 4 5 6',' ','');
+-------------------------------+
| replace('1 2 3 4 5 6',' ','') |
+-------------------------------+
| 123456 |
+-------------------------------+
1 row in set (0.00 sec)

3、所以你的sql改成下面这样就可以了应该:
UPDATE cdb_posts SET message=REPLACE(message,' ','') where tid=123456;

4、改完了记住commit,使改正永久话。

---
以上,希望对你有所帮助。
参考技术A 你的这个语句能够执行,能够把"123 456"替换为"1234",包括空格一起被替换掉。

莫非你还有其它要求吗?

参考资料: 

参考技术B UPDATE cdb_posts SET message=REPLACE(message,'123 456','1234') where replace(tid,' ','')=123456 参考技术C select * from cdb_posts where tid=123456

看看查询结果中的message值

以上是关于C语言中输入字符串,里面有空格,怎么根据空格把字符串分开,并存在数组里?的主要内容,如果未能解决你的问题,请参考以下文章

c语言如何输出有空格的字符串

转义序列各字符间可以有空格吗 是回车换刚么

C语言用如何用scanf输入带有空格的字符串

C语言里如何判断空格

C语言中输入一串以空格分隔的整型数据,怎么办?

MYSQL语句中有空格如何解决?