C 简单读写文本文件 统计文件的行数 读取文件数据到数组1

合集下载

C#简单读写txt文件的方法

C#简单读写txt文件的方法
更多关于C#相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家C#程序设计有所帮助。
这篇文章主要介绍了c中的协变与逆变的相关知识在泛型或委托中如果不使用协变或逆变那么泛型类型是一个固定类型而使用协变或逆变的话则泛型类型可以实现多态化需要的朋友可以参考下
C#简单读写 txt文件的方法
本文实例讲述了C#简单读写txt文件的ຫໍສະໝຸດ 法。分享给大家供大家参考,具体如下:
//write txt StringBuilder builder = new StringBuilder(); FileStream fs = new FileStream(saveFileName, FileMode.Create); StreamWriter sw = new StreamWriter(fs, Encoding.Default); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) {
DataRow dr = ds.Tables[0].Rows[i]; builder.AppendLine(dr["netsn"] + "," + dr["imei"]); //产品S/N号 + IMEI号 } sw.Write(builder); sw.Close(); fs.Close(); if (System.IO.File.Exists(saveFileName)) { System.Diagnostics.Process.Start(saveFileName); //保存成功后打开此文件 } //read txt string[] allLines = File.ReadAllLines(filePath);

文本文件数据的读写操作_C语言程序设计_[共4页]

文本文件数据的读写操作_C语言程序设计_[共4页]

228 返回值:关闭文件成功,返回0值,失败返回EOF。

应用举例:fclose(fp);函数参数:已打开的文件指针变量fp。

执行关闭文件函数,返回值为整型数。

当文件关闭成功时,返回0值,否则返回符号常量EOF(即-1),可以根据函数的返回值判断文件是否关闭成功。

例10.2以追加方式打开D盘VC文件夹下文件名为"text10_2 dat"的文本文件,如果fp不为NULL,输出“打开文件正常”,然后关闭该文件,若文件正常关闭输出“关闭文件正常”,否则输出“关闭文件错误”(文件名为ex10_2.c)。

#include <stdio.h>#include <stdlib.h>int main(){FILE*fp; /*定义一个文件指针 */ int iRe;fp = fopen("D:\\VC\\text10_2", "r"); /* 以只追加式打开text10_2文本文件 */ if(fp==NULL){printf("打开文件出现错误\n"); exit(0);} /* 提示打开文件失败,程序正常退出*/else puts("打开文件正常\n"); /*提示打开文件成功 */ iRe = fclose(fp); /* 关闭已打开的文件 */if(iRe == 0)printf("关闭文件正常\n"); /*提示关闭文件成功 */ else puts("关闭文件出现错误\n"); /*提示关闭错误 */return 0;}运行程序,如对应目录下文件存在,则屏幕输出如下:打开文件正常关闭文件正常10.2.2 文本文件数据的读写操作读写文件数据的操作先要为读或为写打开文件,文件打开时(为添加而打开文件时除外),文件位置指针指向文件的第1个字节,并从0开始计数,每读写一次,该位置指针将自动向后移动相应个字节。

C 简单读写文本文件 统计文件的行数 读取文件数据到数组

C   简单读写文本文件 统计文件的行数 读取文件数据到数组

打开一个文件时,将位置移动到文件尾
文件指针位置在 c++中的用法:
ios::beg ios::end ios::cur
当前位置 例子:
文件头 文件尾
file.seekg(0,ios::beg); //让文件指针定位到文件开头
file.seekg(0,ios::end); //让文件指针定位到文件末尾 file.seekg(10,ios::cur); //让文件指针从当前位置向文件末方向移动 10 个字节 file.seekg(-10,ios::cur); //让文件指针从当前位置向文件开始方向移动 10 个字节 file.seekg(10,ios::beg); //让文件指针定位到离文件开头 10 个字节的位置
很显然,根据以上程序,利用循环,可以逐行读取整个文件内容。
三、统计文件的行数
#include <iostream> #include <fstream> using namespace std;
int CountLines(char *filename) { ifstream ReadFile; int n=0; char line[512]; ReadFile.open(filename,ios::in);//ios::in 表示以只读的方式读取文件 if(ReadFile.fail())//文件打开失败:返回 0 {
逐个字符的读取文件: #include <iostream> #include <fstream> using namespace std; void main() { fstream in; char c; in.open("comn.txt",ios::in); while(!in.eof()) {

c++读取数据文件到数组的实例

c++读取数据文件到数组的实例

c++读取数据⽂件到数组的实例在刷题过程中,遇到的读取⽂件问题,只是记录⾃⼰的问题,新⼿~如果在⼀个txt⽂件当中有以下数据12 34 5 67 8 9 101、如果我们只是简单将这些数据保存在⼀个数组中:#include <iostream>#include <fstream>using namespace std;int main(){int i,datalen=0;double num[100];ifstream file("data.txt");while( ! file.eof() )file>>num[datalen++];for(int i=0;i<datalen;i++){cout<<num[i]<<" ";}file.close();return 0;}结果如下:2、但是如果我们想要和数据⽂件⼀样的形式:#include <iostream>#include <fstream>using namespace std;int main(){double num[10][10];ifstream file("data.txt");for(int i=1;i<=4;i++){for(int j=1;j<=i;j++){file>>num[i][j];}}for(int i=1;i<=4;i++){for(int j=1;j<=i;j++){cout<<num[i][j]<<" ";}cout<<endl;}file.close();return 0;}得到的就是数据⽂件的形式了当然这是读取到double数组。

⾃⾏设置。

以上这篇c++读取数据⽂件到数组的实例就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

c语言从txt文件中逐行读入数据存到数组中的实现方法 -回复

c语言从txt文件中逐行读入数据存到数组中的实现方法 -回复

c语言从txt文件中逐行读入数据存到数组中的实现方法-回复C语言是一种强大而广泛使用的编程语言,它提供了丰富的功能和灵活性。

在许多应用程序中,我们需要从外部文件中读取数据并将其存储在数组中以便进行进一步处理。

本文将介绍如何使用C语言逐行读取txt文件并将数据存储到数组中的实现方法。

在开始之前,我们需要了解一些基本的概念。

首先,txt文件是一种普通文本文件,其中的内容以纯文本形式存储,不包含特殊格式或二进制数据。

其次,数组是一种数据结构,用于存储相同类型的数据元素。

在C 语言中,我们可以使用数组来存储各种类型的数据,例如整数、字符或字符串。

接下来,让我们来看一下逐行读取txt文件并将数据存储到数组中的步骤:步骤1:打开文件在C语言中,我们首先需要使用标准库函数fopen()来打开txt文件。

此函数需要两个参数:文件名和打开模式。

文件名表示要打开的txt文件的路径和名称,而打开模式表示文件的打开方式(例如,读取、写入或追加)。

对于我们的需求,我们将使用打开模式"r"来以只读方式打开txt文件。

下面是打开txt文件并检查是否成功的示例代码:c#include <stdio.h>int main() {FILE *file = fopen("data.txt", "r");if (file == NULL) {printf("无法打开文件!\n");return -1;}代码继续...fclose(file);return 0;}在上面的示例中,我们使用fopen()函数打开了名为"data.txt"的txt文件。

然后,我们检查file指针是否为空,以确定文件是否成功打开。

如果文件打开失败,我们将打印一条错误消息并返回-1。

步骤2:逐行读取文件内容一旦我们成功打开了txt文件,我们就可以使用标准库函数fgets()来逐行读取文件的内容。

简述c语言中文件的读写流程

简述c语言中文件的读写流程

简述c语言中文件的读写流程在C语言中,文件的读写主要涉及到以下几个步骤:1. 打开文件:使用 `fopen` 函数打开文件。

该函数需要两个参数:要打开的文件名和打开模式(如 "r" 表示读取,"w" 表示写入,"a" 表示追加等)。

```cFILE fopen(const char filename, const char mode);```2. 读取/写入文件:使用 `fread` 或 `fwrite` 函数来读取或写入文件。

这些函数需要指定要读取或写入的元素大小和数量,以及文件指针。

```csize_t fread(void ptr, size_t size, size_t count, FILE stream);size_t fwrite(const void ptr, size_t size, size_t count, FILE stream);```3. 关闭文件:使用 `fclose` 函数关闭文件。

```cint fclose(FILE stream);```4. 错误处理:如果在打开、读取或写入文件时发生错误,可以使用 `ferror` 函数检查错误。

如果发生错误,该函数将返回非零值。

```cint ferror(FILE stream);```下面是一个简单的例子,演示如何打开一个文件、读取其中的内容,然后关闭文件:```cinclude <>int main() {FILE fp;char buffer[255];fp = fopen("", "r"); // 打开文件以进行读取if (fp == NULL) { // 检查文件是否成功打开printf("无法打开文件\n");return 1;}while (fgets(buffer, sizeof(buffer), fp) != NULL) { // 读取文件内容 printf("%s", buffer); // 打印读取的内容}fclose(fp); // 关闭文件return 0;}```。

vc中读出txt文件数据

vc中读出txt文件数据

在VC++应用程序中读取文本数据我们通常把数据存诸在txt文件上,但是我们通常要把这些数据取出来并进行处理。

下面我将介绍一种在VC++应用程序中读取文本数据的方法。

一。

前言因为经常要处理地质方面的数据。

但是很多数据它不是直接存贮在数据库文件(如Access文件等),而是存贮在txt文件。

经常有同学问我怎么通过编程读取实现文本文件中的数据。

其实存贮在txt文件也有它的好处,不像读取Access文件那样要注册数据源,设置比较麻烦,编写读取程序也比较复杂。

二。

程序原理首先我们知道假如要进行的文件操作只是简单的读写整行的字符串,那么最好使用CStdioFile,用它来进行此类操作非常方便。

因此我们便很自然想到:首先我们把文本文件的每行数据读到一个缓冲区,然后使用sscanf把它转化为字符格式。

那么具体该怎么做呢?比如在一个txt文件里每一行数据格式是这样的:A1 A2 A3 A3 ……An那么读取的主体代码是:CStdioFile File; // 定义一个CStdioFile类变量FileCString FileData; // 定义一个CString,作为一个缓冲区/*定义n个临时字符串变量,大小依据实际情况,这里暂设为10*/char TempStr1[10],TempStr2[10]……TempStrN[10];File.ReadString(FileData); // 将一行数据读到缓冲区/*将该行数据的n个字符读到n个临时字符串变量*/sscanf(FileData,"%s %s %s %s ……%s",TempStr1,TempStr2……TempStrN);这种读法的一个好处是对文本格式要求不严,如下面的格式也可以(前面可有未知个空格) A1 A2 (两个数据之间也可有未知个空格) A3 A3 ……An 三。

编程步骤下面我以一个单文档程序来具体说明我的做法。

该程序的主要功能是读取文本文件的坐标数据,然后在客户区里用直线将这些坐标连起来,并显示。

C语言读写文件操作

C语言读写文件操作

C语言读写文件操作C语言中提供了丰富的文件读写操作函数,可以用来打开、创建、读取、写入、关闭文件。

下面将介绍这些函数的使用方法。

1.打开文件在C语言中,我们可以使用`fopen`函数来打开一个文件。

该函数的原型如下:```cFILE *fopen(const char *filename, const char *mode);```其中,`filename`是要打开的文件名,`mode`是打开文件的模式。

常见的文件打开模式有以下几种:-`"r"`:只读模式,打开文件用于读取数据。

-`"w"`:写入模式,若文件存在,则清空文件内容;若文件不存在,则创建文件。

-`"a"`:追加模式,若文件存在,则在文件末尾追加内容;若文件不存在,则创建文件。

-`"r+"`:读写模式,打开一个已存在的文件,可以读取、写入文件内容。

-`"w+"`:读写模式,若文件存在,则清空文件内容;若文件不存在,则创建文件。

-`"a+"`:读写模式,若文件存在,则在文件末尾追加内容;若文件不存在,则创建文件。

打开文件成功后,`fopen`函数返回一个类型为`FILE*`的指针,用于后续的文件读写操作。

示例代码:```cFILE *fp = fopen("file.txt", "r");if (fp == NULL)printf("打开文件失败\n");return -1;```2.关闭文件在文件读写操作完成后,我们需要使用`fclose`函数来关闭文件,释放资源。

该函数的原型如下:```cint fclose(FILE *stream);```其中,`stream`是要关闭的文件指针。

示例代码:```cint result = fclose(fp);if (result == 0)printf("关闭文件成功\n");} elseprintf("关闭文件失败\n");```3.读取文件内容C语言中提供了多个函数用于从文件中读取数据,常用的函数有:- `fgetc`:从文件中读取一个字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

while(!out.eof()) {
out.getline(buffer,256,'\n'); //getline(char *, int, char)表示该行字符达到 256 个或遇到换 行就结束
cout<<buffer<<endl; } out.close(); cin.get(); //cin.get() 是用来读取回车键的,如 果没这一行,输出的结果一闪就消失了 }
}
二、读取文件 上面仅仅是将文件写入文件,并没有读取出来。 以下为读取的一种方法:将文件每行内容存储到字符串中,
再输出字符串
#include<iostream> #include<fstream> using namespace std; void main() {
char buffer[256]; fstream out; out.open("com.txt",ios::in); cout<<"com.txt"<<++ 简单读写文本文件、统计文件的行数、读取文件数据到数组
fstream 提供了三个类,用来实现 C++对文件的操作(文件的创建、 读、写)
ifstream : 从已有的文件读; ofstream: 向文件写内容; fstream : 打开文件供读写;
文件打开模式:
ios::in ios::out ios::app ios::binary ios::nocreate
using namespace std;
int main()
{ ofstream in; in.open("com.txt", ios::trunc); //ios::trunc
表示在打开文件前将文件清空,由于是写入,文件不存在则创建 int i; char a='a'; for(i=1;i<=26;i++) { if(i<10) { in<<"0"<<i<<"\t"<<a<<"\n"; a++; } else { in<<i<<"\t"<<a<<"\n"; a++; } } in.close();//关闭文件 return 0;
也就是说,eof 在读取完最后一个数据后,仍是 False,当再次 试图读一个数据时,由于发现没数据可读了,才知道到末尾了,此 时才修改标志,eof 变为 True。
最终找到了一个解决方法,现在把上面的代码改为如下: #include<iostream> #include<fstream> using namespace std; void main() {
这个方法读取的文件,所有字符都一起显示,不会分行。这里字母 z 显示两次,是正常的,因为在输出文件最后一个字母 z 之后,又 输出了一次(可以仔细考虑程序代码)。
C++之 EOF()
fstream 流的 eof()判断有点不合常理,按常理逻辑来说, 如果到了文件末尾的话,eof()应该返回真,但是,C++输入输出如 何知道是否到了末尾了呢?
fstream in; char c; in.open("com.txt",ios::in); while(in.peek() != EOF) {
in>>c; cout<<c; } in.close(); cin.get(); }
主要是把 eof()改为 peek() == EOF 来判别,其中 peek()是取文件 当前指针,EOF 是文件尾尾标符,它的值为-1,所以采用这种方法 就解决上面 eof()的问题了。这种方法也可以用在读写二进制文件 中。
在,不创建文件 ios::noreplace
在,创建该文件 ios::trunc
容 ios::ate
置移动到文件尾
读 写 从文件末尾开始写 二进制模式 打开一个文件时,如果文件不存
打开一个文件时,如果文件不存
打开一个文件,然后清空内
打开一个文件时,将位
文件指针位置在 C++中的用法:
ios::beg ios::end ios::cur
始方向移动 10 个字节
file.seekg(10,ios::beg); //让文件指针定位到离文件开头 10
个字节的位置
常用的错误的判断方法:
good()
如果文件打开成功
bad()
打开文件时发生错误
eof()
到达文件尾
实例:
一、写入文件
#include<iostream>
#include<fstream>
文件头 文件尾
当前位置
例子:
file.seekg(0,ios::beg); //让文件指针定位到文件开头
file.seekg(0,ios::end); //让文件指针定位到文件末尾
file.seekg(10,ios::cur); //让文件指针从当前位置向文件
末方向移动 10 个字节
file.seekg(-10,ios::cur); //让文件指针从当前位置向文件开
逐个字符的读取文件: #include<iostream> #include<fstream> using namespace std; void main() {
fstream in; char c; in.open("com.txt",ios::in); while(!in.eof()) {
in>>c; cout<<c; } in.close(); cin.get(); }
原来根据的是:如果 fin>>不能再读入数据了,猜发现到了 文件结尾,这时才给流设定文件结尾的标志,此后调用 eof()时, 才返回值真。
假设
find>>x; //此时文件刚好读完最后一个数据(将其保存在 x 中)
但是,这时 fin.eof()仍为假,因为 fin 流的标志 eofbit 是 False, fin 流此时认为文件还没有到末尾,只有当流再次读写时 fin>>x , 发现已无可读写数据,此时流才知道到达了结尾,这时才将标志 eofbit 修改为 True,此时流才知道文件到了末尾。
相关文档
最新文档