c语言 将一个数组里的字符串复制到另一个数组中

Python046

c语言 将一个数组里的字符串复制到另一个数组中,第1张

比如源字符是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

}

用strcpy函数!

原型声明:extern char *strcpy(char *dest,char *src)

头文件:string.h

功能:把src所指由NULL结束的字符串复制到dest所指的数组中。

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

返回指向dest的指针。

例子:

#include <stdio.h>

#include <string.h>

int main()

{

char src[128] = "hello world"

char dest[128] = {0}

strcpy(dest, src)

printf("dest = %s\n", dest)

return 0

}

#include <stdio.h>

int main()

{

char a[100] = "\0",b[100] = "\0"

int i = 0

printf("输入一行字符:\n")

scanf("%s",a)

for(i = 0a[i] != '\0'i++){

b[i] = a[i]

}

printf("%s\n",b)

return 0

}

扩展资料:

使用scanf()函数需要注意的问题:

1.对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。

2.可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。

3.scanf函数中没有类似printf的精度控制。

如:scanf("%5.2f",&a)是非法的。不能企图用此语句输入小数为2位的实数。

4.scanf中要求给出变量地址,如给出变量名则会出错

如:scanf("%d",a)是非法的,应改为scanf("%d",&a)才是合法的。

5.在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。

C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。

6.在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。