C语言:
#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("%sn", str);
count++;
}
fclose(fp);
return 0;
}
程序输出:
C++语言:
(转载)http://www.cnblogs.com/chenliangqiao/archive/2011/07/11/2102741.html
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;
}
程序输出:
总结:在C语言中使用fsanf()就可以实现以空格为分隔符读取文件内容。
而在C++中,ifstream的>>---提取符直接就是以空格为分隔符读取文件内容。
原文链接: https://www.cnblogs.com/Robotke1/archive/2013/05/15/3080178.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/88550
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!