在GDB我得到:賽格故障(什麼是錯,strcpy的)
(gdb) backtrace 0 0xb7d91544 in strcpy() from /lib/libc.so.6 1 0x08048982 in ISBN::ISBN(char const*, ISBNPrefix&)() 2 0x08048d4a in main() (gdb)
從這個代碼:
ISBN::ISBN(const char* str, ISBNPrefix& list) {
if(isValid(str)) {
isSet = true;
sprintf(*isbnStr,"%s",str);
}
}
究竟會造成什麼呢?
isbnStr在頭創建:
class ISBN
{
...
char* isbnStr[11];
...
任何想法什麼我可以做這裏造成這種賽格故障?
呼叫在主要是:
ISBN* isbn = new ISBN("7999999008",*prefix);
根據維基百科,2007年及以後分配的ISBN有13位數字,而不是10個。 – 2011-03-05 03:41:04
謝謝,該計劃一次將處理100條記錄,我還沒有計劃接受新的ISBN ,但很高興知道我是否擴大了這一點。 – 2011-03-05 03:44:12