C语言中怎样将一个字符数组里面的所有元素变成一个字符串

作者&投稿:鲍石 (若有异议请与网页底部的电邮联系)
C语言,如何将一个数组里的所有元素按顺序合并成一个字符串,求例程~

数组类型 如果 是 4字节 int 型,想把它变成单字节流 用于发送。
大端/小端 自己 调整 一下 下面 的 下标就可以了。

#include

int main()

{

int SendByte[5]={0x00,0x01,0x02,0x03,0x04};

unsigned char sb[128];

int i,j,n=0;

for (i=0;i<5;i++) {

sb[i*4]= SendByte[i] & 0xff;

sb[i*4+1]= (SendByte[i] >> 8 ) & 0xff;

sb[i*4+2]= (SendByte[i] >> 16 ) & 0xff;

sb[i*4+3]= (SendByte[i] >> 24 ) & 0xff;

}

sb[5*4]='\0';

for (i=0;i<20;i++) printf("%x ",sb[i]);
printf("
");

//========================
//假定数组SendByte[] 每个元素的值 不大于 0xff, 那么1个int 可用 1 字节 传送:
for (i=0;i<5;i++) sb[i]= (unsigned char) SendByte[i];

sb[5]='\0';

for (i=0;i<5;i++) printf("%x ",sb[i]);

printf("
");

return 0;
}

字符串 赋给 字符串,要用 strcpy() 这类函数, 例如:
char str1[2][10],str2[2][10]={"ABCDEFG", "01234567"};
strcpy(str1[1], str2[0]);
strcpy(str1[0], str2[1]);
printf("%s %s", str1[0],str1[1]);
---------------------------------
字符数组中的一个元素, 赋给另一个字符数组中的一个元素:
#include
int main(){
char str1[10],str2[10]="01234567";
str1[3]=str2[5];
printf("%c %c",str1[3],str2[5]);
return 0;
}

首先要明确的是,“字符串”在C语言中的含义实际上就是一个char类型的指针或数组,且最后一位置为0标记字符串的结束。所以,你所说的”字符数组“我是否可以理解为一个没有终结符0的char类型数组?


这样的话,方法如下

#include <string.h>
int main() // 这里为了方便直接用main函数
{
    char array[] = { 'h', 'e', 'l', 'l', 'o' };
    /* 需要注意的是,这里没有终结符,故需要知道数组的 */
    /* 大小(数组的大小是编译时常量)*/
    char *dest_str; // 目标字符串
    
    dest_str = (char *)malloc(sizeof(char) * (sizeof(array) + 1));
    /* 为字符串分配堆空间 */
    
    strncpy(dest_str, array, sizeof(array));
    // 用C标准库函数strncpy拷贝字符
    
    return 0;
}


实际上在C中,指针和数组还是有一点微妙的区别的,具体可参考度娘



你是想把char数组变成C++里面的string类型的字符串还是怎样?如果是,那可以i声明一个string对象,有相应的成员函数把char数组转换为string对象的。如果不是,那么ch就代表字符串

char ch[6]={'a','b','c','d','e','f'}, *s;
s = (char*)malloc(sizeof(char)*7);
if(!s)
return NULL;
s[6] = 0;
strncpy(s, ch, 6);

char s[7]=]={'a','b','c','d','e','f','\0'};
出现s是字符串。
出现s[i]是字符

你既然char s了,那么s只能存一个字符啊,不可能存放abcdef的,要么用成字符串数组s[6],要么用string啊,vector之类的


在VC中如何用C语言输入一个汉字,将汉字给一个变量,使这个变量输出的时候...
可以用unsigned char类型的数组储存汉字,输出时按字符串输出即可 include<stdio.h> int main() { unsigned char s[]="百度一下,你就知道"; printf("%s\\n",s); puts(s); scanf("%s",s); printf("%s\\n",s); puts(s); return 0; } ...

C语言:怎样输入一个字母,输出下一个字母
C语言:怎样输入一个字母,输出下一个字母,可以参考下面的代码:include<stdio.h> int main(){ char a,a1;scanf("%c",&a);a1=a+1;printf("%c",a1);}

在c语言里怎么把一个英语单词赋值给一个字母
在c语言里怎么把一个英语单词赋值给一个字母 如把apple给a 应该是赋值变数,比如说将June这个单词赋给变数month。步骤如下: #include <string.h> char month[10]; strcpy(month, "June"); 将确定的数值赋给变数的语句叫做赋值语句。各程式设计语言有自己的赋值语句;赋值语句也有不同的型别...

c语言中怎样将存放在字符数组中的汉字一个一个输出出来啊?而不是用%...
输入格式:输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。输出格式:取出每句的第一个汉字并连接在一起形成一个字符串并输出。输入:一叶轻舟向东流 帆稍轻握杨柳手 风纤碧波微起舞 顺水任从雅客流 输出:一帆风顺 include<stdio.h> struct spf { char b[100];};int ma...

C语言中怎样获得字符串中的单个字符
char str[]="hello" ;int i;for( i=0;str[i];i++ ) printf("%c\\n", str[i] ); \/\/以数组方式引用一个字符:str[i] for( i=0;*(str+i);i++ ) printf("%c\\n", *(str+i) ); \/\/以指针方式引用一个字符:*(str+i)存储在string中(仅支持C++)string str="abcd...

编一C语言程序,任意输入一个大写字母,将其转换成小写字母并输出_百度知 ...
首先定义一个字符变量;然后提醒输入大写字母;在输入大写字母后;由ASCII码转化后;输出的即为小写字母。这是一种很简洁的转化方式。当然;这种程序也有弊端;当你输入小写字母时;ASCII码就会超出范围;因为最高为127;而a的ASCII码为97;加上32后为129,显然超出范围;程序会无内容输出。不过,解决大...

怎样在C语言中修改字符串的一个字符的值
独孤九剑碧血剑回答正确。注意char *a="abcdef"与char a[]="abcdef"的区别:1、字符串存放的内存区域不同:前者存放在常量区,不可修改,后则存放在栈中,可以修改;2、变量a存放的内容不同:前者存放的是一个地址,而后者存放的是字符串"abcdef",因此使用sizeof它们的结果是不同的,分别是4和...

c语言输入任意一个字母,将其ASCII码值加5,变成新的字母并输出_百度知 ...
main(){ char a=“a”,A=“A”,c,new;scanf(“%c”,&c);if(c>=a&&c=A&&c<A+26){ if(c>=a&&c

C语言中怎样将一个字符数组里面的所有元素变成一个字符串
首先要明确的是,“字符串”在C语言中的含义实际上就是一个char类型的指针或数组,且最后一位置为0标记字符串的结束。所以,你所说的”字符数组“我是否可以理解为一个没有终结符0的char类型数组?这样的话,方法如下 include <string.h>int main() \/\/ 这里为了方便直接用main函数{ char array...

c#中怎样将一个大写字母转换成小写字母?
c#中将一个大写字母转换成小写字母的代码如下:Demo string str = "HELLO World";str = str.T肌唬冠舅攉矫圭蝎氦莽oLower(); \/\/ 结果就是 hello world 用这个函数就可以了。如果要想转成大写 用ToUpper();将字母全部转换为大写或小写,在C#编程中是一个非常常见的功能。在开发过程中,经常需要...

德令哈市19117471395: C语言中怎样将一个字符数组里面的所有元素变成一个字符串 -
春知荷叶: 首先要明确的是,“字符串”在C语言中的含义实际上就是一个char类型的指针或数组,且最后一位置为0标记字符串的结束.所以,你所说的”字符数组“我是否可以理解为一个没有终结符0的char类型数组? 这样的话,方法如下 #include <...

德令哈市19117471395: C语言的一个小问题. 怎么样将字符数组内的一个字符赋值给另外一个数组的一个变量? -
春知荷叶: 字符数组要访问某个字符,可以用a[i],i是下标表示第几个元素,0表示第一个.假设2字符数组,a,b.b[j]=a[i];就可以把 a数组的第i-1个元素,赋值给 b数组的 j-1个.

德令哈市19117471395: C语言,如何将一个数组里的所有元素按顺序合并成一个字符串,求例程 -
春知荷叶: 1 2 3 4 5 6 7 8 9 10 11 12 13 14char*arrytostring(charSendByte[]) {inti=0;char*p=(char*)malloc(6);char*q=p;for(i=0;i<5;i++){*p=SendByte[i]+48;p++;}*p='\0';p=q;returnp; }

德令哈市19117471395: 在C语言中,如何将字符串数组的内容全部输出 -
春知荷叶: 把这个理解成二维数组就OK了 for(i=0;i<4i++) printf("%c\n",a[i][0]);

德令哈市19117471395: C语言如何把一个字符串中的数值全提取出放在一个数组里面 -
春知荷叶: 用 sscanf() ; 例如:char str[80]="1101"; int a[4]; sscanf(str,"%1d%1d%1d%1d",&a[0],&a[1],&a[2],&a[3]);

德令哈市19117471395: c语言 将一个数组里的字符串复制到另一个数组中 -
春知荷叶: 比如源字符串是s,要复制到另一字符串t中,这里必须满足t能放得下s的全部元素,否则将会有危险发生.举例代码如下: //#include "stdafx.h"//If the vc++6.0, with this line. #include "stdio.h" int main(void){char *s="The quick brown fox jumps over a lazy dog. 1234567890";char *ps=s,t[60],*pt=t;while(*pt++=*ps++);//这就把s全部复制给t了printf("%s\n",t);//打出来看看...return 0; }

德令哈市19117471395: C语言怎样给字符数组赋值 -
春知荷叶: 给字符数组赋值分两种情况,单字符赋值和字符串赋值. 单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如: char a[10]; char ch='a'; for( i=0;i<10;i++ )a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值 char *p; for...

德令哈市19117471395: 使用标准C语言,将字符数组s2中的全部字符复制到在字符数组s1中. -
春知荷叶: 本来想写一楼的,看到一楼写了,就改写指针的,我说说思路吧,定义两个字符数组,和两个指向字符数组的指针,分别取他们的地址,用指针输入一个字符数组,再用指针使录入数组赋值给未录入数组. #include <stdio.h> void main() {char a[...

德令哈市19117471395: C语言:编写程序,把字符数组中的字母按由小到大 的顺序排列并输出 -
春知荷叶: #include <stdio.h> #include <stdlib.h> #include <string.h>int cmp(const void *a, const void *b) {return *(char*)a - *(char*)b; // 这里记住一定要用排序的元素类型的指针做强制装换并且再取指针指向的值. }int main() {char s[] = "kjferu21398dyfkaqpoia";qsort(s, strlen(s), 1, cmp);printf("%s", s);return 0; }

德令哈市19117471395: 怎么在c语言字符数组中删除一个字符? -
春知荷叶: 字符数组中删除指定字符的方法: 输入一个字符串,以回车结束 输入指定字符 定义一个遍历字符串的下标变量和一个新的字符串下标变量 循环遍历字符串, 如果当前字符与指定字符不同,则将当前字符写入新下标位置,新下标+1 (相同则不处理) 遍历下标+1检测下一个 遇到字符串结束符,结束循环 循环结束后,新下标位置字符串结束符 输出新的字符串 参考代码:

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网