亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4001 | 回復(fù): 5
打印 上一主題 下一主題

fprintf也會(huì)core dump [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-05-11 11:27 |只看該作者 |倒序?yàn)g覽
程序一跑就崩潰, 剛剛調(diào)試出引起崩潰的bug


修改代碼后ok了


  1. int detach_log(const char *filename, const char *p)
  2. {
  3.   FILE* fp;
  4.   fp=fopen(filename,"a+");
  5.   if(!fp) return -1;
  6.   
  7.   fprintf(fp,  p) ;
  8.   fclose(fp);
  9.   return 1;
  10. }
復(fù)制代碼
改成
  1. int detach_log(const char *filename, const char *p)
  2. {
  3.   FILE* fp;
  4.   fp=fopen(filename,"a+");
  5.   if(!fp) return -1;
  6.   
  7.   fprintf(fp, "%s", p) ;
  8.   fclose(fp);
  9.   return 1;
  10. }
復(fù)制代碼
就ok了


就是把 fprintf(fp,  p)  改成  fprintf(fp, "%s", p)

我以前經(jīng)常給printf族的函數(shù) 傳一個(gè) 字符串指針,難道我一直都做錯(cuò)了?

難道printf("%s",  p_str)  才是安全的?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2010-05-11 11:36 |只看該作者
core dump是什么類型的原因? 內(nèi)存越界,還是其他什么?

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2010-05-11 11:38 |只看該作者
是的,如果你確認(rèn)傳入的串不含格式,用fputs比較安全。。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2010-05-11 11:38 |只看該作者
NAME

    fprintf, printf, snprintf, sprintf - print formatted output

SYNOPSIS

    #include <stdio.h>

    int fprintf(FILE *restrict stream, const char *restrict format, ...);
    int printf(const char *restrict format, ...);
    int snprintf(char *restrict s, size_t n,
           const char *restrict format, ...);
    int sprintf(char *restrict s, const char *restrict format, ...);

樓主為什么不查一下手冊(cè)?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2010-05-11 11:39 |只看該作者
本帖最后由 liangzhishao 于 2010-05-11 11:41 編輯

Segmentation fault: 11 (core dumped)


signal 11 :  segmentation violation


差不多   我見過的崩潰都是第11信號(hào)  還沒見過由其他原因引起的崩潰

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2010-05-11 11:44 |只看該作者
回復(fù) 4# sunlan


    手冊(cè)當(dāng)然看,不過這種簡(jiǎn)單的問題卻忽略了,
      fprintf(FILE * restrict stream, const char * restrict format, ...);
   只是以前寫printf寫的習(xí)慣了,  忘了它要解釋 format 的格式, 不好的習(xí)慣。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP