 |
下面是一个例子,它读入Autoexec.bat的第一行。
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE * fp;
char s[256];
if((fp = fopen("c:\\autoexec.bat", "r")) == NULL)
{
printf("Can't open file\n");
return;
}
fgets(s, 256, fp);
printf("Line1 : %s\n", s);
fclose(fp);
}
宋毅畅的意见:
如果我的一行是不定长的怎么办?分隔符为回车键。
答:这个方法可以适用于不定长的情况。fgets会在遇到回车或文件尾后才返回。一般文本行不会超过256个字符,所以这里限制为最大256个字符。如果你的最长行超过这个限制,可以适当地增加这个数。
richardl的意见:
请去下载http://codeguru.earthweb.com/files/StringFile.zip这个办法最好最快!
(主持人注:StringFile是一个基于趣的朋友可以看一下。)
Rushinger的意见:
//文件流和string的结合是最佳的:
#include <iostream>
#include <fstream>
#include <strstream>
#include <string>
using namespace std;
int main()
{
string line;
ifstream input("input.txt",ios::in);
strstream temp;
while(1)
{
getline(input,line);
if(input.eof()) break;
//一行数据已经存入line中,可以对其进行处理,此处只是将其输出
cout << line << endl;
}
input.close();
return 0;
}
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 磁盘、文件和目录, disk, file, fat, directory, folder。
|