读书人

c语言字符串有关问题

发布时间: 2012-03-09 16:54:58 作者: rapoo

c语言字符串问题
定义了这样一个字符串 char *str= "2907.9551 " 怎么将它变成如下字符串 "北纬:29度07.9551分 " 并将这个字符串赋值给另一个char 型指针 比如 char *str1
望高手赐教

[解决办法]
char *str= "2907.9551 ";
char *str1=new char[128];
memset(str1,0,128);
strcpy( str1 , "北纬: " );
char sz[8]={0};
strncpy( sz , str , 2 );
strcat( str1 , sz );
strcat( str1 , "度 " );
strcat( str1 , str +2 );
strcat(str1 , "分 " );
printf( "%s\n ",str1);
[解决办法]
char *str= "2907.9551 ",*ptr;
int i;
char *buf=(char *)malloc(32);
sscanf(str, "%2d ",&i);
ptr=str;
ptr+=2;
memset(buf,0,sizeof(buf));
sprintf( "北纬:%2d度%s分 ",i,ptr);
rturn buf;
[解决办法]
我做了一个
带有详细说明
VC6.0下编译

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>


char * str= "2907.9551 ";


void main()
{

char str_0[56];
char str_1[56];

char str_[256];

//将前边2个数字复制进第一个数组
memcpy(str_0,str,2);
str_0[2]= '\0 ';
//显示第一个数组内容
printf( "%s\n ",str_0);

//将后边的数字复制进第二个数组
strcpy(str_1,&str[2]);
//显示第二个数组内容
printf( "%s\n\n ",str_1);


//组合成需要的字符
sprintf(str_, "北纬:%s度%s分\n ",str_0,str_1);
//显示内容
printf( "%s\n ",str_);


}

读书人网 >C语言

热点推荐