VC字符串指针如何初始化
发布网友
发布时间:2024-03-11 20:27
我来回答
共3个回答
热心网友
时间:2024-03-20 11:52
如果已知字符串数组大小的变量m_size
CString *psrt;
pstr=new CString[m_size];
初始化用一个for循环
for(int i=0;i<m_size;i++)
{
pstr[i]="";
}
如果不知道字符串数组大小
CStringArray sArray;
sArray.add("");
访问第i条的时候
sArray[i]
这都是VC++的
如果是C,则定义char的二维数组,size1,size2已知
char **pchar;
pchar=new char*[size1]; //存指针的数组
for(int i=0;i<size1;i++)
{
pchar[i]=new char[size2]; //存一条字符串
}
然后对pchar[i]初始化或者赋值.
最后,还可以用vector<CString> vcString;
加入数据
vcString.push_back(str);
访问
vcString[i];
大小
vcString.size();
另外CString其实有长度限制的
热心网友
时间:2024-03-20 11:50
PSTR pStr = new char[256];
LPSTR lpStr = new char[256];
PTSTR pTStr = new char[256];
不限制大小,不现实吧
热心网友
时间:2024-03-20 11:50
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i, *p,size;
printf("请输入数组中的元素个数:");
scanf("%d",&size);
p=(int*)malloc(size*sizeof(int));
printf("请输入数组中的元素:");
for(i=0;i<size;i++)
scanf("%d",p+i);
printf("数组元素输出:\n");
for(i=0;i<size;i++)
printf("%d",*(p+i));
free(p);
}
VC字符串指针如何初始化
初始化用一个for循环 for(int i=0;i<m_size;i++){ pstr[i]="";} 如果不知道字符串数组大小 CStringArray sArray;sArray.add("");访问第i条的时候 sArray[i]这都是VC++的 如果是C,则定义char的二维数组,size1,size2已知 char **pchar;pchar=new char*[size1]; //存指针的数组...
VC里面 字符串指针数组 把我搞的昏头转向,麻烦帮我看看啊,谢谢_百度...
1.#include<string.h> 这个头文件没有用上 2.按照你的意思利用循环体 输入输出一个串 输入和输出函数你用错了 应该用getchar 和putchar 3.指针数组你没有初始化 凡是指针都要初始化 一定要记住 每一个指针数组的元素都是指针要给他赋值要用*a[]的形式 综上 修改如下:include<stdio.h> void ...
VC++MFC中 指针数组初始化问题
你可以把mm声明为static,然后在类外.cpp文件里定义 比如 .h class yourclass { public:static char* mm[6];};.cpp char* yourclass::mm[6] = {"abc","begin","if","then","else","end"};
Visual C++中二级指针的定义,初始化,赋值问题
再来看看这样定义char *p[] = {“ab“, “cd“, “ef“};定义了一个指针数组.char **sp = p;这样的用法经常看到,为什么这样就可以使用sp[i]来访问字符串了呢,的确编译器在编译的时候识别出了sp是一个指向一维数组的指针的指针,那么我们就可以把它做为数组名来操纵整个数组了,c神奇的地方或者...
vc++2010中const char* 不能初始化const wchar_t*,为何?
具体的讲,VC2010默认的编码方式是UNICODE,这种编码方式对每个字符分配2个字节,我们称之为wchar宽字符 而如果是从C语言开始学起,那么我们定义字符都用char a;这是ANSI版本的,这种编码方式对通常的字母、数字等是1个字节的,对汉字是2个字节的。解决办法:在tchar.h中,定义了1种通用的字符类型:...
vc如何释放从指针p开始,指定大小的内存
有两种解决方案:1、定义p为全局的指针,那样就可以delete掉了 2、传到线程函数的参数也是一个指针,可以直接delete那个指针参数 建议用第二种,c++编程全局变量多了不好,祝你成功!
关于C语言指针的问题
指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。例如: 例二: 1。 char a[20]; 2。 int *ptr=a; ... ... 3。 ptr++; 在上例中,指针ptr的类型是int*,它指向的类型是int,它被初始化为指向整 形变量a。接下来的第3句中,指针ptr被加了1,编译器是这样...
在vc++中使指针变量的值为0(int*p=0)是什么意思
初始化啊,正确的应该是p=NULL,虽然效果是一样的,作用是防止指针未初始化的时候就被使用,从而会产生不可预测的后果
C语言 指针进阶问题;
s[i])) index =i;} return index; //返回的是最长字符串在指针数组中的下标,方便在其他程序里使用}int main(void){int i,n;char *p[10];printf("输入字符串个数(应小于10):");scanf("%d",&n); for(i=0;i<n;i++){p[i] = (char *)malloc(sizeof(char)*100);...
vc中全局指针,在子函数中用new分配的空间,没有调用delete,退出子函数...
在stdafx.cpp里定义 CMap<CString, LPCTSTR, CString, LPCTSTR>*pItemMap;在stdafx.h里定义 extern CMap<CString, LPCTSTR, CString, LPCTSTR>*pItemMap; // 全局指针 funA(){ // 注意,如果pItemMap已经被初始化过了,需要先释放再重新初始化,否则内存泄漏 pItemMap=new CMap<CString, LPCTSTR, ...