{
char sF[MAX_FILE];
strcpy(sF,(char *)pData);
strcat(sF,sText);
strcpy((char *)pData,sF);
}
这样行么?
其中void * pData是用来存储字符串的指针
12 个解决方案
#1
用strcat(*des,*src)
#2
/* STRCPY.C: This program uses strcpy
* and strcat to build a phrase.
*/
#include <string.h>
#include <stdio.h>
void main( void )
{
char string[80];
strcpy( string, "Hello world from " );
strcat( string, "strcpy " );
strcat( string, "and " );
strcat( string, "strcat!" );
printf( "String = %s\n", string );
}
Output
String = Hello world from strcpy and strcat!
* and strcat to build a phrase.
*/
#include <string.h>
#include <stdio.h>
void main( void )
{
char string[80];
strcpy( string, "Hello world from " );
strcat( string, "strcpy " );
strcat( string, "and " );
strcat( string, "strcat!" );
printf( "String = %s\n", string );
}
Output
String = Hello world from strcpy and strcat!
#3
reride the operator +
#4
如问题那样,应该不可以?但同意楼上的看法!
#5
CString类是可以直接相加减的,例如
CString c1,c2,cs;
c2="i love\0";
c3=" you\0";
c1=c2+c3;
那么C1就是i love you了。
如果是字符串型的,可以直接用等号来转换
如char c[12]="324234"
那么就可以这么做
c1=c;
那么C1就会与C的值一样
相么,如果想把CString转化为char类的串,那么用下面这个函数
sprintf(c,"%s\0",c1);
这样就会把c1的值传给c;
CString c1,c2,cs;
c2="i love\0";
c3=" you\0";
c1=c2+c3;
那么C1就是i love you了。
如果是字符串型的,可以直接用等号来转换
如char c[12]="324234"
那么就可以这么做
c1=c;
那么C1就会与C的值一样
相么,如果想把CString转化为char类的串,那么用下面这个函数
sprintf(c,"%s\0",c1);
这样就会把c1的值传给c;
#6
如果MAX_FILE=65536,会不会有问题?
#7
试试才知道!
#8
假如是字符串的话可以直接加的
CString s1="dfd",s2="dfdf"
s1=s1+s2;
如果是其他情况,可以用上面朋友所介绍的情况
如用
char c1[100];
strcpy(c1,"dfdfd")
strcat(c1,"dfdfd")
等等,方法可以灵活运用的
CString s1="dfd",s2="dfdf"
s1=s1+s2;
如果是其他情况,可以用上面朋友所介绍的情况
如用
char c1[100];
strcpy(c1,"dfdfd")
strcat(c1,"dfdfd")
等等,方法可以灵活运用的
#9
在相加的过程中多了几个字符,该怎么办?
就是用贴首的程序做的。
就是用贴首的程序做的。
#10
多了8个byte
-36
-121
88
-1
126
1
42
55
就是它们
-36
-121
88
-1
126
1
42
55
就是它们
#11
把sText末尾设为'\0'就行了
sText[MAX]=0;
sText[MAX]=0;
#12
Add(char * sText)
{
char sF[MAX_FILE];
strcpy(sF,(char *)pData);
strcat(sF,sText);
pData = sF;
}
#1
用strcat(*des,*src)
#2
/* STRCPY.C: This program uses strcpy
* and strcat to build a phrase.
*/
#include <string.h>
#include <stdio.h>
void main( void )
{
char string[80];
strcpy( string, "Hello world from " );
strcat( string, "strcpy " );
strcat( string, "and " );
strcat( string, "strcat!" );
printf( "String = %s\n", string );
}
Output
String = Hello world from strcpy and strcat!
* and strcat to build a phrase.
*/
#include <string.h>
#include <stdio.h>
void main( void )
{
char string[80];
strcpy( string, "Hello world from " );
strcat( string, "strcpy " );
strcat( string, "and " );
strcat( string, "strcat!" );
printf( "String = %s\n", string );
}
Output
String = Hello world from strcpy and strcat!
#3
reride the operator +
#4
如问题那样,应该不可以?但同意楼上的看法!
#5
CString类是可以直接相加减的,例如
CString c1,c2,cs;
c2="i love\0";
c3=" you\0";
c1=c2+c3;
那么C1就是i love you了。
如果是字符串型的,可以直接用等号来转换
如char c[12]="324234"
那么就可以这么做
c1=c;
那么C1就会与C的值一样
相么,如果想把CString转化为char类的串,那么用下面这个函数
sprintf(c,"%s\0",c1);
这样就会把c1的值传给c;
CString c1,c2,cs;
c2="i love\0";
c3=" you\0";
c1=c2+c3;
那么C1就是i love you了。
如果是字符串型的,可以直接用等号来转换
如char c[12]="324234"
那么就可以这么做
c1=c;
那么C1就会与C的值一样
相么,如果想把CString转化为char类的串,那么用下面这个函数
sprintf(c,"%s\0",c1);
这样就会把c1的值传给c;
#6
如果MAX_FILE=65536,会不会有问题?
#7
试试才知道!
#8
假如是字符串的话可以直接加的
CString s1="dfd",s2="dfdf"
s1=s1+s2;
如果是其他情况,可以用上面朋友所介绍的情况
如用
char c1[100];
strcpy(c1,"dfdfd")
strcat(c1,"dfdfd")
等等,方法可以灵活运用的
CString s1="dfd",s2="dfdf"
s1=s1+s2;
如果是其他情况,可以用上面朋友所介绍的情况
如用
char c1[100];
strcpy(c1,"dfdfd")
strcat(c1,"dfdfd")
等等,方法可以灵活运用的
#9
在相加的过程中多了几个字符,该怎么办?
就是用贴首的程序做的。
就是用贴首的程序做的。
#10
多了8个byte
-36
-121
88
-1
126
1
42
55
就是它们
-36
-121
88
-1
126
1
42
55
就是它们
#11
把sText末尾设为'\0'就行了
sText[MAX]=0;
sText[MAX]=0;
#12
Add(char * sText)
{
char sF[MAX_FILE];
strcpy(sF,(char *)pData);
strcat(sF,sText);
pData = sF;
}