最近老是用到C、C++文本读写的问题,自己老是记不住怎么写,今天写在博客中,记录一下。
C读写文本文档:
Read:
char Buf[1024];
char *fname = "D:\\CTC\\Driver\\EtherCAT\\Address.cfg";
FILE *FilePointer;
if ((FilePointer = fopen(fname, "r")) == NULL){
printf("Can't Open File!\n");
return;
}
//while (Read_Line_From_File(FilePointer, b))
while (fgets(Buf, 1024, FilePointer) != NULL)
{
char *B = strtok(Buf, " ");
Adress[Num] = atoi(B);
B = strtok(NULL, " ");
Name[Num] = atoi(B);
B = strtok(NULL, " ");
Rule[Num] = atoi(B);
printf("%d,%d,%d\n", Adress[Num], Name[Num], Rule[Num]);
if (Name[Num] == 0 || Adress[Num] == 0)
{
continue;
}
Num++;
}
fclose(FilePointer);
Write:
FILE *fpWrite=fopen("data.txt","w");
if(fpWrite==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
fprintf(fpWrite,"%d ",i);
fclose(fpWrite);
C++读写文本文档,我只写出我认为比较简单的方法:
Read:
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char S[1024];
ifstream fin;
fin.open("E:\\data.txt");
if(!fin) return 0;
while (!fin.eof())
{
fin.getline(S,1024);
cout<<S<<endl;
}
fin.close();
getchar();
return 0;
}
Write:
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
ofstream fout;
fout.open("E:\\data.txt");
fout<<"1111"<<" "<<endl;
fout.flush();
fout.close();
return 0;
}