我传一个字符串到DLL中
例如:
DLL函数: Sub(char *szBuf);
传入的字符串: char str[MAX_PATH] = "C:\Documents and Settings\...\...";
调用函数:Sub(str); 当字符串传入DLL中后,字符串就被截断了,szBuf中的内容为:"C:\Documents".请问:
这是为什么?就问怎么解决.
例如:
DLL函数: Sub(char *szBuf);
传入的字符串: char str[MAX_PATH] = "C:\Documents and Settings\...\...";
调用函数:Sub(str); 当字符串传入DLL中后,字符串就被截断了,szBuf中的内容为:"C:\Documents".请问:
这是为什么?就问怎么解决.
改成
char str[MAX_PATH] = "C:\\Documents and Settings\\...\\...";试试看呢,
别告诉我是sscanf
把原来截断地方的字符改为空格就行了,字符串就完整了当字符串传入进程的时候,系统可能把第一个空格当做了'\0'吧。谢谢大家支持,人人都有分