查看: 933|回复: 3
|
关于string array....
[复制链接]
|
|
本人刚学c++不久,现在正学着stdio.h.
#include <stdio.h>
#include <string.h>
void main(char a)
{
FILE *namelist;
namelist= fopen("namelist.in","r");
int i;
char name[20][20];
char ic[20][20];
char add[50][50];
for(i=0;i<=9;i++)
{
printf("Name : ");
fgets(name,20,namelist);
printf("%s",name);
printf("ic : ");
fgets(ic,20,namelist);
printf("%s",ic);
printf("Address : ");
fgets(add,100,namelist);
printf("%s\n\n",add);
}
}
如图所示,我已经declare了三个不同的string array。。
现在我想要用dll把这些string带进vb6.0去。。
请问我需要怎么做呢?
dll的command我已经有了,
example :
#include "stdafx.h"
int _stdcall addnum(int x,int y)
{
return x+y;
}
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
现在我毫无头绪要怎样才能将我所declare的array全部一次过带去vb那里。。
如example一次只能return一个value,那么我那么多array就需要做很多个function了吗。。?
很乱啊~~~~ |
|
|
|
|
|
|
|
发表于 8-10-2007 02:24 PM
|
显示全部楼层
上面那段代码有 pointer abuse。。。 |
|
|
|
|
|
|
|
楼主 |
发表于 8-10-2007 05:09 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 9-10-2007 08:47 AM
|
显示全部楼层
原帖由 chyen 于 8-10-2007 05:09 PM 发表
不明白咧 = =
本人还是新手,Pointer也不大会用。。。
如果像我上面那样declare的话, 我有可能可以把它们带进vb6吗。。。?
character string这些东西真的很难搞啦。。。。
上面你把 pointer to array of character of size 20 塞进fgets 的第一个 argument, pointer to character 不是一个好的做法。
compiler 给你过,因为pointer都是4 bytes的 unsigned long, 但它们是不同的pointer.
string在 C 里只是array of characters (char *), with 0 来做delimeter.跟vb的string, lpctstr( const tchar * )会有一点不同。。。
所以你可以declare string with lpctstr.
[ 本帖最后由 tensaix2j 于 9-10-2007 08:48 AM 编辑 ] |
|
|
|
|
|
|
| |
本周最热论坛帖子
|