#include<stdio.h>
#include<string.h>
int main()
{
unsigned char *s;
unsigned char a[30]="Hello world welcome";
memcpy(s,&a,15);
printf("%s",s);
return 0;
}
这使我陷入分裂的错误。 请帮助我确定这一错误
#include<stdio.h>
#include<string.h>
int main()
{
unsigned char *s;
unsigned char a[30]="Hello world welcome";
memcpy(s,&a,15);
printf("%s",s);
return 0;
}
这使我陷入分裂的错误。 请帮助我确定这一错误
<代码>a已成为指点器,在您通过<代码>a>查询时,即:a ;a> 查询,而不是在座标。 此外,你们还需要分配一些记忆,以复制大街的雕像。
Another error is that via memcpy you copy only 15 bytes, this means that your string is not zero terminated ( ) this results in printf() trying to print s until it reaches 0 which could never occur.
So you must use strcpy
, give the proper length argument or terminate the string to zero yourself.
#include<stdio.h>
#include<string.h>
int main()
{
unsigned char *s;
unsigned char a[30]="Hello world welcome";
s = malloc(strlen(a) + 1); // + 1 for the 0 character
if (s == NULL)
{
perror("malloc");
exit(1);
}
// copy the whole string
memcpy(s, a, (strlen(a) + 1)); // + 1 for the 0 character
printf("%s",s);
// copy the first 15 bytes and 0 terminate
memcpy(s, a, 15);
s[15] = ;
printf("%s",s);
// copy via string copy
strcpy(s, a);
printf("%s",s);
free(s)
return 0;
}
页: 1 从现在起,它只是一个未入选的点,即(很可能)点到:
unsigned char *s = malloc(16);
如同所有记忆分配一样,在你重新使用时,应取消:
free(s);
EDIT:另一个错误(我忽略了)是,你在打电话memcpy
后,你必须终止NCL。
memcpy(s,a,15);
s[15] = ;
或者,你可以使用<代码>strcpy(),将体格划分为15个特性,但你需要分配足够时间储存所有<代码>a>/代码>(包括其NUL-决定因素):
unsigned char a[30]="Hello world welcome";
unsigned char *s = malloc(strlen(a) + 1); // Allocate
strcpy(s,a); // Copy entire string
s[15] = ; // Truncate to 15 characters by inserting NULL.
printf("%s",s);
free(s); // Free s
For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...
最好、最小、最快、开放的来源、C/C++ 3d 提供方(在3ds max模型的支持下),而不是通用公平市价,
Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...
I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...
I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...
I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...
Is there anything other than DDD that will draw diagrams of my data structures like DDD does that runs on Linux? ddd is okay and runs, just kind of has an old klunky feeling to it, just wanted to ...
Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...