Linux下的文件读写

来源:互联网 发布:家庭网络需要交换机吗 编辑:程序博客网 时间:2024/04/30 03:21
if 1// save language set.static int get_file_line(char *pInputName, char *pOutputBuf, int line_idx){FILE * fp;int i=0;char * line = NULL;size_t len = 0;ssize_t read;if((i = access (pInputName,F_OK)) == 0){//printf("[access] file exist!/n"); fp = fopen(pInputName, "r");}else{//printf("[access] file not exist!!/n");fp = fopen(pInputName, "w+");}if (fp == NULL) return -1;if(pOutputBuf && (line_idx<=0)){fclose(fp);return -2;}char *p;while ((read = getline(&line, &len, fp)) != -1) {//printf("line ==== %s \n",line);p=line;if(line[0]=='#')continue;++i;//JPRINTF(("line [%d] === [%x] [%x] == [%x] \n",i,line[0],line[1],line[2],strlen(line)));if(pOutputBuf && (i>=line_idx))break;}if(pOutputBuf && (i!=line_idx)){//printf("pOutputBuf,i,line_idx === [%d, %d, %d] \n",pOutputBuf,i,line_idx);free(line);fclose(fp);return -3; }if (pOutputBuf && line){int length=strlen(line)>200?200:strlen(line);memcpy(pOutputBuf,line,length);free(line);fclose(fp);return 0; }fclose(fp);return i;}#define LANG_CONFIG_NAME "/root/langconfig.txt"static void TestGetLanguageConfig(){int ret;char pTempString[40]={0};ret=get_file_line(LANG_CONFIG_NAME,pTempString,1);if(0!=ret)// Get line Failed.{tSetupLangSelect=0;}elsetSetupLangSelect=atoi(pTempString);//printf("tSetupLangSelect ======= [%d] [%d] [%s]\n",tSetupLangSelect,atoi(pTempString),pTempString);}static void TestSetLanguageConfig(){int fd;char pTempParam[4]={0};sprintf(pTempParam,"%d",tSetupLangSelect);fd = open( LANG_CONFIG_NAME,O_WRONLY | O_CREAT | O_TRUNC, S_IRWXU );write(fd, pTempParam, strlen(pTempParam));fsync(fd);close(fd);}