请教Linux下C编程问题:段错误,fseek
各位大侠,初学linux下c编程,困难重重,还请赐教啊。先谢谢了啊,以下是调试过程:; C& S, W8 \2 S y; @
43 if((connectfd=accept(listenfd,(struct sockaddr *)&client,&sin_size))==-1){; Q5 i# F/ ~, r8 Z
(gdb)
& R1 Z; W, V3 t47 process_cli(connectfd,client);
7 O$ _# P# N$ w5 e5 M(gdb)3 j$ z3 y- F" o) Q* Q" i* O
2 x% O" x# s4 w
Breakpoint 2, process_cli (connectfd=6, client=; H1 a J9 |, Y
{sin_family = 2, sin_port = 9603, sin_addr = {s_addr = 1728161984}, sin_zero = "瞱\022繲\006\215?"}) at zfpserverT.c:55: e# z' Q6 ~. P# s# L$ k
55 printf("You got a connection from %s.",inet_ntoa(client.sin_addr));$ n5 J" W' n$ {+ z! V& V) P/ I
(gdb)
' o1 F/ m ]; M' Y% t56 num=recv(connectfd,file_name,SEND_BUFFER_SIZE,0); V( y% j+ B0 b- g- B2 g2 X
(gdb)
$ ?% G- T* D% q9 H5 f- `% A57 if(num==0){/ U) ?0 @; l4 g) c$ I
(gdb) S! \* v( [% m" S
62 file_name[num-1]='\0';
- V. q2 W% L: s2 K1 ^(gdb)
: s5 u! H9 i* r( g, B/ e7 i! ?: f; c63 printf("The filename the client needs is %s.\n",file_name);$ b! k z* ^+ t& P+ c7 e
(gdb)2 K( N! i7 q0 k* @
You got a connection from 192.168.1.103.The filename the client needs is 1.mp3.( ^1 i; T$ N# m$ T A
64 switch(file_name[0])7 M, F. ?# V8 t1 l x$ W, Q5 P. P
(gdb)( X B5 L! e% w4 \! S+ u! R
79 {sourceFile=fopen("/temp/1.mp3","r");/ L- v- h3 u! M$ V
(gdb)/ V) [: d3 e- {' R3 A. b
80 break;
$ q6 A, c' b l0 ^, W(gdb)/ k: q$ B7 C% H; Z1 M) F
83 leftToSend=sizeof(sourceFile);
, k* ~- T8 _; i2 }; S/ d" a(gdb)
3 r+ z- V' o8 @# G) ^84 fseek(sourceFile,0L,SEEK_SET);
# j- p& d8 W/ N# b4 z& E(gdb)
3 q: A A8 k6 e0 v' F9 [
4 {0 k8 q: }2 fProgram received signal SIGSEGV, Segmentation fault. ]- o% @8 Y3 k$ m, J) X
0x42069267 in fseek () from /lib/tls/libc.so.6
. W1 X$ T n; |% q& y+ v) H$ i(gdb) where6 l, Q4 k i2 X
#0 0x42069267 in fseek () from /lib/tls/libc.so.6) m; @7 J7 K$ _4 ?! q/ q. m: r
#1 0x080488b6 in process_cli (connectfd=6, client=
F% w6 Y$ |7 \, E- b1 t {sin_family = 2, sin_port = 9603, sin_addr = {s_addr = 1728161984}, sin_zero = "瞱\022繲\006\215?"}) at zfpserverT.c:84
/ v6 }" X5 C7 O2 A8 g#2 0x080487b9 in main () at zfpserverT.c:47
7 w3 n4 J$ @/ j1 B#3 0x42015574 in __libc_start_main () from /lib/tls/libc.so.6