linux系统下fwrite实现换行写入

xiaoxiao2021-02-28  102

int main()   {       FILE *pFile=NULL;      int nwrite=0; int i; char ch[]="\n"; char name[]="123"; int name1[10]={0};     if((pFile=fopen("/opt/test","r+"))==NULL){ perror("fopen"); exit(-1); } printf("sizeof(name)=%d\n",sizeof(name)); //输出是4  因为默认后面有个'\o'结束标记 fseek( pFile, 0, SEEK_SET);     if (pFile){           nwrite=fwrite(name,1,1,pFile);  printf("nwrite=%d\n",nwrite); fwrite(ch,1,1,pFile);             nwrite=fwrite(name+1,1,1,pFile); printf("nwrite2=%d\n",nwrite); fwrite(ch,1,1,pFile);         nwrite=fwrite(name+2,1,1,pFile);  printf("nwrite4=%d\n",nwrite);     } fseek( pFile, 0, SEEK_SET); for(i=0;i<3;i++ ){     fscanf(pFile,"%d\n",&name1[i]); printf("coordinates_Tea=%d\n",name1[i]); if (feof(pFile)) break;         }     fclose(pFile);        return 0;  

int main()   {       FILE *pFile=NULL;      int nwrite=0; int i; char ch[1]="\n";     char name2[] = "1\n";  char name3[]= "2\n";  char name4[] = "3\n";  int name1[10]={0};     if((pFile=fopen("/opt/test","r+"))==NULL){ perror("fopen"); exit(-1); } printf("sizeof(name2)=%d\n",sizeof(name2)); fseek( pFile, 0, SEEK_SET);     if (pFile){                        nwrite=fwrite(name2,2,1,pFile);   //2换成sizeof(name2)  得不到正确的结果   因为sizeof(name)=3 printf("nwrite=%d\n",nwrite);                      nwrite=fwrite(name3,2,1,pFile); printf("nwrite2=%d\n",nwrite);                     nwrite=fwrite(name4,2,1,pFile);  printf("nwrite4=%d\n",nwrite);     } fseek( pFile, 0, SEEK_SET); for(i=0;i<3;i++ ){     fscanf(pFile,"%d\n",&name1[i]); printf("coordinates_Tea=%d\n",name1[i]); if (feof(pFile)) break;         }     fclose(pFile);        return 0;   } 

在linux下'\n'可以实现换行

转载请注明原文地址: https://www.6miu.com/read-39627.html

最新回复(0)