标题:strcpy的找错,大虾指教!!!!!谢了
只看楼主
fanfan320
Rank: 3Rank: 3
来 自:运城
等 级:论坛游侠
帖 子:82
专家分:104
注 册:2010-5-12
结帖率:63.64%
已结贴  问题点数:20 回复次数:8 
strcpy的找错,大虾指教!!!!!谢了
void test()
{
char string[10],str1[10];
int i;
for(i=0;i<10;i++)
{
str1='a';
}
strcpy(string,str1);
}
搜索更多相关主题的帖子: strcpy 指教 
2010-05-20 22:32
rwyangguang
Rank: 2
等 级:论坛游民
帖 子:23
专家分:46
注 册:2009-7-7
得分:2 
#include<string>//要头文件
using namespace std;
void main()   //
{
char string[10],str1[10];
int i;
for(i=0;i<10;i++)
{
   str1[i]='a';//缺i
}
strcpy(string,str1);
}
2010-05-20 23:38
fanfan320
Rank: 3Rank: 3
来 自:运城
等 级:论坛游侠
帖 子:82
专家分:104
注 册:2010-5-12
得分:0 
#include"stdio.h"
#include"iostream.h"
#include<string.h>
void main()   
{
char string[10],str1[10];
int i;
for(i=0;i<10;i++)
{
   str1[i]='a';
}
strcpy(string,str1);
cout<<string<<endl;
}
在连接是,老是出现“fatal error C1189: #error :  "eh.h is only for C++!"”是什么意思啊??
2010-05-21 19:22
yjj634041926
Rank: 2
等 级:论坛游民
帖 子:36
专家分:76
注 册:2010-4-15
得分:6 
#include<iostream.h>
#include<string.h>
void main()   
{
char string[10],str1[10];
int i;
for(i=0;i<10;i++)
{
   str1[i]='a';
}
strcpy(string,str1);
cout<<string<<endl;
}


这是我改了之后运行的结果“什么也没有输出”;
 
2010-05-21 23:25
fhqbgmqj
Rank: 2
等 级:论坛游民
帖 子:26
专家分:57
注 册:2010-5-7
得分:10 
strcpy函数是一个操作指针的函数,你这样是不能直接复制的,你可以定义两个指针指向这两个数组的首地址。而且这个函数复制的时候是以NULL为结尾标志的;我根据你的程序改了下,你看看:
#include"stdio.h"
#include"iostream.h"
#include<string.h>
void main()   
{
    char string[10],str1[10]="abcdefghi";
    char *s=str1;
    char *d=string;
    strcpy(d,s);
    cout<<string<<endl;
}
注意str1[10]里边是9个字母,最后一个位置为空,这样就可以输出了。
还有你说的“fatal error C1189: #error :  "eh.h is only for C++!"”这句话是说eh.h只能用于C++程序,你再保存程序的时候保存为.cpp就行了,不要保存为.c。

[ 本帖最后由 fhqbgmqj 于 2010-5-22 01:32 编辑 ]
2010-05-22 01:25
BlueDreame
Rank: 1
等 级:新手上路
帖 子:545
专家分:2
注 册:2004-12-16
得分:2 
局部作用域的字符数组也自动初始化为0串吗?怎么没人添加结束标志?

2010-05-22 09:23
fanfan320
Rank: 3Rank: 3
来 自:运城
等 级:论坛游侠
帖 子:82
专家分:104
注 册:2010-5-12
得分:0 
回复 4楼 yjj634041926
#include<stdio.h>
#include<iostream.h>
#include<string.h>
void main()   
{
char string[10],str1[10]="abcdefghi";
strcpy(string,str1);
cout<<string<<endl;
}
这样就行了
2010-05-22 12:16
fanfan320
Rank: 3Rank: 3
来 自:运城
等 级:论坛游侠
帖 子:82
专家分:104
注 册:2010-5-12
得分:0 
回复 5楼 fhqbgmqj
不用指针也行》
#include"stdio.h"
#include"iostream.h"
#include<string.h>
void main()   
{
    char string[10],str1[10]="abcdefghi";strcpy(string,str1);
    cout<<string<<endl;
}
2010-05-22 12:18
feixinz
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2009-3-1
得分:0 
#include<string>//C++的头文件
#include<string.h>//C的
#include<iostream>//C++的
#include<stdio.h>//C的

要是要引用string类就要引用string头文件
还有char a[10]只能保存9个字符的字符串,a[9]是0, 不然打印时会出现乱码现象
2010-05-23 00:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-307529-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.521181 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved