逐个字符复制一个C-串到字符数组中
2008-11-02 22:56
253 查看
书上的方法是:
#include<iostream.h>
char* myStrcpy(char* s1,const char* s2)
{
char* s=s1;
while(*s++ = *s2++);
return s1;
}
int main()
{
char a[50];
const char* s="Hello, I am a student./n";
cout<<myStrcpy(a,s);
}
而while(*s++ = *s2++);这一句相当于执行下列操作序列:
while(1)
{
*s=*s2;
s2++;
char* temp=s;
s++;
if(*temp==0) break;
}
我想能不能不用从新定义字符指针实现这个功能,后发现用以下方法也可以实现:
while(1)
{
*s=*s2;
if(*s==0) break;
s2++;
s++;
}
经过编译连接获得了成功
#include<iostream.h>
char* myStrcpy(char* s1,const char* s2)
{
char* s=s1;
while(*s++ = *s2++);
return s1;
}
int main()
{
char a[50];
const char* s="Hello, I am a student./n";
cout<<myStrcpy(a,s);
}
而while(*s++ = *s2++);这一句相当于执行下列操作序列:
while(1)
{
*s=*s2;
s2++;
char* temp=s;
s++;
if(*temp==0) break;
}
我想能不能不用从新定义字符指针实现这个功能,后发现用以下方法也可以实现:
while(1)
{
*s=*s2;
if(*s==0) break;
s2++;
s++;
}
经过编译连接获得了成功
相关文章推荐
- 实验10指针2(1)输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y;再对y串的内容前后倒置后存入数组z中并输出。
- (六)两种方式将一个文件的内容复制到另一个文件(第二种方式效率更高,第一种一个字符一个字符的读写,第二种一个数组一个数组的读写)
- 第十三周 项目五--字符串操作(2.2)字符串复制功能---两个数组中的字符复制在一个数组中
- 实验十(二)-1、输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y;再对y串的内容前后倒置后存入数组z中并输出。
- 编写程序读入一组string类型的数据,并将它们存储在vector中,再将vector对象复制给一个字符指针数组。
- 从字符数组第m个元素开始复制到另外一个字符数组中
- 有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student"
- 有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".
- 合法IP&窗口最大值数组&打印素数&递归逆序一个栈&栈排序另一个栈&MyString&寻找数组中出现的重复字符&数组中的重复数字&逆序打印链表&空格替换成%20
- 字符串替换空格:请实现一个函数,把字符数组中的每个空格替换成“%20”
- 指针数组,字符数组----一个很有趣的小问题
- 给定一个数组,该数组存贮R,G,B三种字符,将该数组按RGB顺序排序,不能使用辅助内存空间,且只能遍历数组一次。
- C++第16周项目1(2)复制字符串/字符数组
- C语言实现:复制输入字符,且有多个连续空格时只输出一个
- 给出一个字符数组的全排列
- 将一个txt文档中所有字符读入一个数组中的代码
- 给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串
- //设计一个函数模板 max <T>求一个数组中最大的元素,并以整数数组和字符数 //组进行调用。
- 编程题--给定一个字符串数组,判断每个字符出现次数
- 如何不用数组写一个任意长度字符逆序