C/C++分别读取文件,以空格为分隔符
2013-05-15 17:05
1706 查看
C语言:
程序输出:
C++语言:
2.2.3 读写文件
在这段程序中,我们首先创建了一个输入文件流ifstream的对象fin,并利用它的构造函数将其连接到一个文本文件Date.txt。所谓构造函数,就是这个对象创建的时候所执行的函数。这里,我们使用“Date.txt”作为参数来调用这个构造函数,实际上就是使用这个文件创建fin对象。除此之外,我们还可以使用fin所提供的open()函数来打开一个文件。当我们利用fin成功打开一个文件之后,就可以利用提取符“>>”从fin中提取各种数据。“>>”会以空格为分隔符逐个从文件中读取数据并将其保存到相应的数据变量中。例如,如果文件中的内容如下:
用户输入的当前日期是:
1983 7 3
默认情况下,fin总是从文件的开始部分进行读取的,为了直接读取第二行的内容,我们使用“fin.ignore(256,'\n');”忽略了第一行的内容,将读取位置跳转到第二行。然后,通过提取符“>>”,我们将第二行用空格分割的三个数据分别提取并保存到了三个变量中。
同样,为了将数据写入文件,我们需要创建一个输出文件流ofstream的对象fout,然后通过它的构造函数或者是open()函数来打开一个文件,将这个文件和fout对象连接起来,然后通过插入符“<<”将数据插入到fout对象,也就实现了将数据写入到它所关联的文件中的目的。整个过程如下图2-9所示:
程序输出:
[b]总结:在C语言中使用fsanf()就可以实现以空格为分隔符读取文件内容。[/b]
[b]而在C++中,ifstream的>>---提取符直接就是以空格为分隔符读取文件内容。[/b]
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char* argv[]) { int count = 0; FILE* fp; char str[100]; fp = fopen("test.txt", "r"); while (fscanf(fp, "%s", str) != EOF) { printf("%s\n", str); count++; } fclose(fp); return 0; }
程序输出:
C++语言:
2.2.3 读写文件
在这段程序中,我们首先创建了一个输入文件流ifstream的对象fin,并利用它的构造函数将其连接到一个文本文件Date.txt。所谓构造函数,就是这个对象创建的时候所执行的函数。这里,我们使用“Date.txt”作为参数来调用这个构造函数,实际上就是使用这个文件创建fin对象。除此之外,我们还可以使用fin所提供的open()函数来打开一个文件。当我们利用fin成功打开一个文件之后,就可以利用提取符“>>”从fin中提取各种数据。“>>”会以空格为分隔符逐个从文件中读取数据并将其保存到相应的数据变量中。例如,如果文件中的内容如下:
用户输入的当前日期是:
1983 7 3
默认情况下,fin总是从文件的开始部分进行读取的,为了直接读取第二行的内容,我们使用“fin.ignore(256,'\n');”忽略了第一行的内容,将读取位置跳转到第二行。然后,通过提取符“>>”,我们将第二行用空格分割的三个数据分别提取并保存到了三个变量中。
同样,为了将数据写入文件,我们需要创建一个输出文件流ofstream的对象fout,然后通过它的构造函数或者是open()函数来打开一个文件,将这个文件和fout对象连接起来,然后通过插入符“<<”将数据插入到fout对象,也就实现了将数据写入到它所关联的文件中的目的。整个过程如下图2-9所示:
#include <iostream> #include <string> #include <fstream> using namespace std; int main(int argc, char** argv) { ifstream ifs("test.txt"); string str; int count = 0; while (ifs >> str) { cout << str << endl; count++; } ifs.close(); return 0; }
程序输出:
[b]总结:在C语言中使用fsanf()就可以实现以空格为分隔符读取文件内容。[/b]
[b]而在C++中,ifstream的>>---提取符直接就是以空格为分隔符读取文件内容。[/b]
相关文章推荐
- C/C++分别读取文件,以空格为分隔符
- stringstream读取空格作为分隔符的文件
- c++输入文件处理按行读取并且将实现对一行数据分别处理
- C/C++分别读取文件的一行
- C++ 按行读取文件并按空格将数据存储为vector
- c++读取文件时如何读取空格
- C++中利用文件输入对象(即ifstream对象)来读取文本文件中带空格的字符串以及混合输入数字与字符串
- C++读取以空格作为数据区分标记,以回车为行标记的txt文件到一个整数数组(字符串妙用)
- java中按文件中的分隔符(空格、换行符等)逐项读取文件中的数据
- asp分行读取txt文件,有分隔符,存储到access
- 从txt文件中读取这两个值分别放入相应的变量中,假如有二个数据:50 100
- 读取读写C++文件读写操作(四)读取文件数据到临时数组
- C++ 读取txt文件中,n行两点坐标值
- c++某种文件格式的读取与写入范例[stl]
- C++中文件按行读取和逐词读取 backup
- question:读取以TAB为分隔符CSV文件时遇到的问题
- 探寻C++最快的读取文件的方案(转)
- 读取DXF格式文件的C++代码
- C++中从文件末尾反向读取N行文件记录。
- C++每次读取文件内容并且验证每行的内容