我无法理解strcpy函数与使用下面给出的pointer.The代码相等字符串地址的方法之间的区别,这将使我的问题更加清楚。任何帮助都将不胜感激。
//code to take input of strings in an array of pointers
#include <stdio.h>
#include <strings.h>
int main()
{
//suppose the array of pointers is of 10 elements
char *strings[10],string[50],*p;
int length
#include <cstring>
int main()
{
char *pName = new char[10];
char dummy[] = "dummy";
strcpy(pName + 0,dummy);//how this is different from -->this works
strcpy(pName[0],dummy);//this one...--> error C2664: 'strcpy' :
//cannot
下面的C程序将把最短和最长的字符串打印为t[0]和t[n-1]。然而,当我运行这段代码时,它告诉我有一个内存问题。我的代码出了什么问题?
问题出在最后两行,"strcpy“。
#include <stdio.h>
#include <string.h>
void fx (char* t[], int n);
int main(void)
{
char* t[] = {"horse", "elephant", "cat", "rabbit"};
int n;
n = siz
当您删除指针时,第一个示例不起作用。当我添加null终止符时,程序挂起,或者没有它,我会得到:
来自Visual Studio2008的Debug Assertion Failed Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
//Won't work when deleting pointer:
char *at = new char [3];
at = "tw"; // <-- not sure what's going on here that strcpy does
#define null "null" //its declared on top
int hash_size=100;
char *hash_table[hash_size];
int i;
for(i=0;i<hash_size;i++){
strcpy(hash_table[i],null);// it doesn't works. WHY!
//hash_table[i]=null; it works
}
我创建了一个字符串指针数组。我想用"null“分配所有元素。但是strcpy函数不起作用。为什么?
目前正在读K&R,只是偶然发现了字符指针。在书rn中定义char指针时,没有任何关于内存分配的内容,也许稍后会解释它。但这是没有意义的,所以我在寻求帮助:)
1
// No errors
char *name;
char *altname;
strcpy(altname,name);
2
// No errors, internals of *name have been successfully moved to *altname
char *name = "HI";
char *altname;
strcpy(altname, name);
3
// Segment
首先,我想知道为什么案例1会给我核心转储错误。第二,我想知道我的心态是否正确。
所以我创建了2种情况,在第一种情况下,当我执行时,我得到一个核心转储消息,程序退出。
另一个案子开始了,我看到了结果。
//case 1
//'word' is not initialized properly,or by using malloc or calloc
//as a result 'word' content will not change when you i use strcpy to copy over it
char * wor
我想从我编写的.bin文件中读取。我在一个.bin文件中编写了一个整数和3个结构。当我试着读它时,我会发现一个错误:
Run-Time Check Failure #2 - Stack around the variable 'A' was corrupted. occurred
这是我的结构:
typedef struct videoteka {
char naslov[50];
char glumac[50];
char vrsta[40];
long int rBroj;
}FILM;
这是我如何写到我的.bin文件:修复和写入文件再次
int main()
{
FILM