【发布时间】:2011-03-05 03:24:57
【问题描述】:
在 GDB 中我得到:
(gdb) 回溯 0 0xb7d91544 in strcpy () from /lib/libc.so.6 1 0x08048982 在 ISBN::ISBN(char const*, ISBNPrefix&) () 2 0x08048d4a 在 main () (gdb)从此代码:
ISBN::ISBN(const char* str, ISBNPrefix& list) {
if(isValid(str)) {
isSet = true;
sprintf(*isbnStr,"%s",str);
}
}
究竟是什么原因造成的?
isbnStr 在标头中创建:
class ISBN
{
...
char* isbnStr[11];
...
关于我在这里可以做什么来导致此段错误的任何想法?
main中的调用是:
ISBN* isbn = new ISBN("7999999008",*prefix);
【问题讨论】:
-
顺便说一句,根据维基百科,2007 年及以后分配的 ISBN 有 13 位而不是 10 位。
-
谢谢,该程序一次将处理 100 条记录,我还没有任何计划接受新的 ISBN,但很高兴知道我是否会扩展它。
标签: c++