亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言實現修改文本文件中特定行的實現代碼

2020-01-26 16:01:02
字體:
來源:轉載
供稿:網友

好的,首先我先敘述下功能要求:
其實很簡單,就是Shell中sed命令的C語言實現,實現定位到所需要的字段的那一行,之后修改成需要的內容。但是由于C語言是面向過程的語言,需要順序執行的特點,所以,實現中遇到了很多麻煩,在這里博主將實現的過程描述如下,以便大家參考。

問題描述:

文本內容:

復制代碼 代碼如下:

wireless.1.authmode=1
wireless.1.compression=0
wireless.1.current_ap=ssid12
wireless.1.current_state=1
wireless.1.devname=ath0
wireless.1.enable_slave1_status=disabled
wireless.1.enable_slave2_status=disabled
wireless.1.enable_slave3_status=disabled

我需要做的就是修改第四行的內容,使之變為:

復制代碼 代碼如下:

wireless.1.current_state=0

問題看似簡單,實現過程頗費周折。。。

這里我給出實現的代碼,注釋已經加在代碼中:

復制代碼 代碼如下:

/*
 * Author:DLUTBruceZhang
 * Date: 2013.06.24
 */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
int main()
{
 /*
  *linebuffer:讀取文件中的一行存入的緩沖
  *buffer1:一行中第一個字段的存入緩沖
  *buffer2:一行中第二個字段的存入緩沖
  */
 char linebuffer[512] = {0};
 char buffer1[512] = {0};
 char buffer2[512] = {0};

 int line_len = 0;
 int len = 0;
 int res;

 /*
  * cc.cfg是文件名,r+代表可以讀寫文件
  */
 FILE *fp = fopen("cc.cfg", "r+");
 if(fp == NULL)
 {
  printf("open error");
  return -1;
 }
 while(fgets(linebuffer, 512, fp))
 {
  line_len = strlen(linebuffer);
  len += line_len;
  /*
   * buffer1=wireless.1.current_state
   * buffer2=1
   */
  sscanf(linebuffer, "%[^=]=%[^=]", buffer1,buffer2);
  if(!strcmp("wireless.1.current_state", buffer1))
  {
   /*
    * 由于已經找到所需要寫的位置,所以需要寫位置的“頭”
    */
   len -= strlen(linebuffer);
   /*
    * 實現文件位置的偏移,為寫文件做準備
    */
   res = fseek(fp, len, SEEK_SET);
   if(res < 0)
   {
    perror("fseek");
    return -1;
   }
   strcpy(buffer2, "=0");
   /*strcat(buffer1, "=");*/
   strcat(buffer1, buffer2);
   printf("%d",strlen(buffer1));
   /*
    * 寫文件,存入所需的內容
       */
   fprintf(fp, "%s", buffer1);
   fclose(fp);
   return;
  }
 }
return 0;
}

保存文件名為:my_sed.c

運行效果如下:

我們再來看文件中的內容已經變為:

復制代碼 代碼如下:

wireless.1.authmode=1
wireless.1.compression=0
wireless.1.current_ap=ssid12
wireless.1.current_state=0
wireless.1.enable_slave1_status=disabled
wireless.1.enable_slave2_status=disabled
wireless.1.enable_slave3_status=disabled


實現原理:

這里實現的效率比較高,因為不是把整個文件的內容裝入緩沖區中,而是一行一行的讀取,知道匹配為止,之后利用寫文件的特性,直接覆蓋所寫內容即可,由此完成所需功能

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人午夜精品免费| 正在播放欧美视频| 欧美大尺度在线观看| 久久91超碰青草是什么| 亚洲新声在线观看| 欧美日韩一区二区三区| 国产精品私拍pans大尺度在线| 欧美日韩中文字幕在线| 欧美日韩另类在线| 中文字幕最新精品| 亚洲欧美国产一本综合首页| 深夜福利国产精品| 日韩精品在线第一页| 中文字幕精品www乱入免费视频| 97视频免费看| 456亚洲影院| 国内揄拍国内精品| 亚洲xxxx做受欧美| 国产精品福利片| 欧洲成人午夜免费大片| 日韩免费观看网站| 日韩精品中文字幕在线观看| 色综合久久悠悠| 97国产成人精品视频| 欧美一级大胆视频| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产精品电影| 久久久精品美女| 亚洲国产精品悠悠久久琪琪| 中文字幕亚洲天堂| 亚洲aⅴ男人的天堂在线观看| 久久精品国产精品| 精品久久久久久国产| 成人日韩在线电影| 国产美女精品免费电影| 亚洲国产精品视频在线观看| 亚洲国产精品美女| 欧美一区二区三区四区在线| 国产丝袜高跟一区| 成人综合国产精品| 国产精品r级在线| 国产91在线播放九色快色| 影音先锋日韩有码| 午夜精品一区二区三区在线视| 国产精品一区久久| 国产精品久久久久久亚洲影视| 最近2019中文字幕在线高清| 欧洲日韩成人av| 久久免费国产视频| 精品久久久香蕉免费精品视频| 欧美精品激情视频| 26uuu久久噜噜噜噜| 日韩美女免费线视频| 精品国产老师黑色丝袜高跟鞋| 高清亚洲成在人网站天堂| 日日骚久久av| 亚洲欧美一区二区三区久久| 国产区亚洲区欧美区| 色噜噜国产精品视频一区二区| 最近日韩中文字幕中文| 欧美日韩福利电影| 亚洲综合中文字幕在线观看| 日韩中文有码在线视频| 久久久久久久久久久国产| 一区二区三区 在线观看视| 亚洲欧美日韩一区二区在线| 欧美激情精品久久久久久变态| 亚洲欧美第一页| 日韩欧美在线视频观看| 日韩中文字幕国产| 久久久成人av| 国产精品久久久久久五月尺| 亚洲激情成人网| 国产欧美日韩综合精品| 欧美日韩在线视频首页| 中文字幕日韩有码| 中文在线不卡视频| 日韩精品在线免费观看| 中文字幕最新精品| 国产精品免费小视频| 日韩一区二区三区国产| 亚洲欧美日韩高清| 亚洲精品电影网| 欧美性猛交xxxx富婆弯腰| 欧美黑人巨大xxx极品| 日韩福利伦理影院免费| 日韩av第一页| 精品国产精品自拍| 国产日韩欧美中文| 国产精品久久久久久一区二区| 国产精品永久免费视频| 国产精品美女久久久免费| 久久久久久高潮国产精品视| 色偷偷亚洲男人天堂| 亚洲国产高清福利视频| 性夜试看影院91社区| 国产一区二区三区在线免费观看| 国产精品一区二区久久国产| 久久久久久久久久久国产| 2023亚洲男人天堂| 51久久精品夜色国产麻豆| 亚洲欧美日韩天堂| 亚洲美女av在线播放| 亚洲欧美日韩精品久久| 人人澡人人澡人人看欧美| 日本久久久久久久久久久| 4438全国成人免费| 国产福利精品av综合导导航| 欧美一区在线直播| 97国产一区二区精品久久呦| 91久久久在线| 欧美整片在线观看| 亚洲欧美国产另类| 欧美视频一区二区三区…| 中文字幕精品在线| 国产精品久久久久久av| 色黄久久久久久| 国产成人综合精品| 欧美黑人xxxⅹ高潮交| 精品国产福利在线| 精品视频久久久久久久| 国产精品久久久久久久久久| 久久在线精品视频| 亚洲激情视频在线播放| 91综合免费在线| 国产亚洲欧美日韩精品| 日本不卡高字幕在线2019| 91久久久久久久一区二区| 韩剧1988免费观看全集| 久久久久久久香蕉网| 成人综合网网址| 韩国欧美亚洲国产| 欧美日韩国产丝袜另类| 久久99久久99精品免观看粉嫩| 日韩中文字幕免费看| 国产一区二区三区在线| 91欧美激情另类亚洲| 欧美性xxxx在线播放| 久久成人亚洲精品| 亚洲综合一区二区不卡| 亚洲福利视频网| 欧美成人午夜剧场免费观看| 久久大大胆人体| 亚洲国产天堂网精品网站| 精品视频久久久久久久| 成人xvideos免费视频| 亚洲男人的天堂网站| 亚洲免费视频一区二区| 91国自产精品中文字幕亚洲| 91成人福利在线| 一本色道久久综合亚洲精品小说| 日韩av片永久免费网站| 亚洲国产精品系列| 欧美夫妻性生活视频| 日韩一区二区福利| 国产精品视频免费在线观看| 国产美女久久久| www.欧美三级电影.com| 日韩精品免费在线播放| 青草热久免费精品视频| 国产精品亚洲精品| 欧美午夜视频一区二区| 亚洲精品久久久久久下一站| 国产精品美女视频网站|