2)自己实现的话也不麻烦,但是要考虑一些细节:
假设两个字符串指针为 str1,str2 ,现在要讲 str1 和 str2 连接成一个新的字符串。
a考虑指针 str1,str2 是否非空
b如果将str2的内容直接连接到str1的末尾,要考虑str1是否有足够的剩余空间来放置连接上的str2的内容。
如果用一个新的内存空间来保存str1和str2的连接结果,需要动态分配内存空间。
程序源码如下:
#include<stdioh>
#include<stringh>
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 <stdioh>
#include<stringh>
#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");
}
import javautilScanner;public class Knowd {
public static void main(String[] args) {
Scanner sc = new Scanner(Systemin);
Systemoutprintln("输入字符串");
String str = scnext();
int[] a = new int[strlength()];
int j = 0;
for(int i =0;i<strlength();++i){
if(strcharAt(i)==','){
a[j++] = i;
}
}
Systemoutprint(strsubstring(0,a[0])+" ");
for(int i = 0;i<j;++i){
if(i+1 != j)
Systemoutprint(strsubstring(a[i]+1,a[i+1])+" ");
else
Systemoutprint(strsubstring(a[i]+1));
}
}
}工具/原材料
excel2016版、电脑。
1、打开电脑找到并点击打开excel2016版表格软件;
2、双击打开excel表格软件以后,为了示范先在表格内编辑好任意的文字内容;
3、编辑好以后,此时先将A1列需要拆分的部份内容复制粘贴到B和C列,只需要复制第一行;
4、复制粘贴好第一行的内容以后,此时单击B1列在按“ctrl+E”快捷键进行单元格填充即可;
5、同理此时单击C1列在按“ctrl+E”快捷键进行数字部份单元格填充拆分即可完成。String类型的话,可以用toCharArray()方法转化成字符数组
String
s
=
"hello";
char
a[]=stoCharArray();
如果你只是取出来其中某个字符,可以用charAt()方法
char
b=
scharAt(4);//取出第4个字符
如果你用的StringBuffer类型,和String类似,不过可以对单个字符直接进行 *** 作了,不必拆分成字符
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)