c# 读取txt文件中特定内容后的数据

例如我有个文本,a.txt,内容如下
da = 5 bb = 3 ce=4 等等
可以看出,是值对的形式,空格分隔,但是空格数量0或更多

然后我想直接读出其中的ce后面的值是多少,应该怎么写?

谢谢……
后面可能还有de = 9啊,什么的

使用fopen,fscanf函数可以实现从txt文件当中读取内容,进行简单操作。

1.fopen的函数原型:FILE * fopen(const char * path,const char * mode);
  fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
  r 以只读方式打开文件,该文件必须存在。
  r+ 以可读写方式打开文件,该文件必须存在。
  rb+ 读写打开一个二进制文件,允许读数据。
  rw+ 读写打开一个文本文件,允许读和写。
  w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
  w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
  a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
  a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
  wb 只写打开或新建一个二进制文件;只允许写数据。
  wb+ 读写打开或建立一个二进制文件,允许读和写。
  wt+ 读写打开或着建立一个文本文件;允许读写。
  at+ 读写打开一个文本文件,允许读或在文本末追加数据。
  ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
  上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
    返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。


2.例程:

#include<stdio.h>
#define F_PATH "d:\\myfile\\file.dat"
char c;
int main(){
    FILE*fp=NULL;//需要注意
    fp=fopen(F_PATH,"r");
    if(NULL==fp) return -1;//要返回错误代码
    while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //从文本中读入并在控制台打印出来
    fclose(fp);
    fp=NULL;//需要指向空,否则会指向原打开文件地址    
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-08
static void Main(string[] args)
{
string str = "da = 5 bb = 3 ce=4";
for (int i = 0; i < str.Length; i++)
{
if (str[i] == 'e')
{
Console.WriteLine("ce后的数据为:");
for (int j = i + 1; j < str.Length; j++)
{ Console.Write(str[j]); }

}
}
}
你就不会把e改为de或者ce吗?
还有另外一段代码给你参考,希望你能举一反三,直接给出答案多没意思:
Console.WriteLine("请输入一个英文句子");
string s = Console.ReadLine();//读取数据
//把这个句子以“,”“。”“!”分隔开,存到数组里。
string[] word = s.Split(new char[]{',','?','.','!',' '});
//遍历数组里所有的元素
foreach(string str in word )
if(str!="")
{
Console.WriteLine(str );
}
第2个回答  2012-03-04
用正则表达式来分析
命名空间:using System.Text.RegularExpressions;
代码:
string _buff = "da = 5 bb = 3 ce=4"; //这里模拟读入了文件的内容,_buff 要替换成 你从文本里面读取的字符串
Regex _reg = new Regex(@"[a-zA-Z_]\w*\s*=\s*(\d+(?!\.|x|e|d|m)u?)|^0x([\da-f]+(?!\.|x|m)u?)"); //定义正则表达式
MatchCollection mc = _reg.Matches(_buff); //匹配所有结果
Dictionary<string, int> _mydic = new Dictionary<string, int>(); //存放结果的dic
foreach (Match nObj in mc) //遍历所有结果
{
string _obj = nObj.Value;
_obj = _obj.Replace(" ","");
_mydic.Add(_obj.Split('=')[0], Convert.ToInt32(_obj.Split('=')[1]));
}
要想得到哪个的值就用 _mydic["变量名"] 比如想得到 da 的值 就是:
int test = _mydic["da"];本回答被网友采纳
第3个回答  2012-03-04
截取字符串吧
关键字设为ce啊
第4个回答  2012-03-03
截取字符串

c# 读取txt文件中特定内容后的数据
使用fopen,fscanf函数可以实现从txt文件当中读取内容,进行简单操作。1.fopen的函数原型:FILE * fopen(const char * path,const char * mode); fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:r 以只读方式打开文件,该文件必须存在。r+ 以可读写方式打开文件,该文件必...

c#如何读取txt指定行的内容?
方法1 string[] lines = File.ReadAllLines(filePath + "\\\\" + fileNames[i]);然后就可以通过指定lines的下标来处理指定的行 方法2 StreamReader objReader = new StreamReader("c:\\\\test.txt");string sLine="";string result=string.Empty;int i=0;while ((sLine = objReader.ReadLine())...

c#如何读取txt文件中指定内容段的数据?如下所示格式:
\/\/\/ 读取INI文件 \/\/\/ \/\/\/ 节点名称 \/\/\/ 关键字 \/\/\/ INI文件路径 \/\/\/ <returns>值<\/returns> static public string IniReadValue(string Section, string Key, string filepath){ StringBuilder temp = new StringBuilder(255);int i = GetPrivateProfileString(Section, Key, "", temp,255...

C#中怎么读取txt文件某一行的内容
string[] line= File.ReadAllLines(@"d:\\1.txt");\/\/遍历第10行 Console.WriteLine(line[9]);\/\/遍历所有行 for (int i = 0; i < line.Length; i++){ Console.WriteLine(line[i]);}

怎样用C#读取TXT文件内容并修改
1、首先先来看一下准备的txt文本文件的内容。2、然后在程序中引入操作文件的命名空间System.IO。3、接下来需要定义一个变量,存储文件所在的路径。4、然后我们先读取文本内容,调用File类的ReadAllLines即可读取所有内容。5、接下来是修改内容,先按照下图的方式,准备要修改的内容。6、准备好内容以后,调用...

我要用C#读取一个文件里指定的一部分内容,然后修改,保存,怎么办?_百度...
1,从文本文件中读取内容 2,用正则方法进行替换你想要替换的内容 3,将修改好的内容再写回文本文件中。以下为示例代码:string strFilePath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "\\test.txt");if (File.Exists(strFilePath )){ string strContent = File.ReadAllText(str...

Unity(C#)怎么提取一个txt文件特定行数的内容?
private static IEnumerable<string> GetTxtContents (string path, int start = 0, int count = int.MaxValue){ return File.ReadAllLines(path.ToString()).ToList().Skip(start).Take(count);} 参数说明:path:txt文件路径 start:开始行数,默认从第0行开始(即首行)count:读入行数,默认...

c# 文本中提取特定字符串后面的内容
这是一个XML片段,你使用XmlDocument加载后可以获取所有User节点,循环取其Name属性值就可以了。参考代码:更好点的代码大致如下吧,使用XPath:string xml = "<Users><User Name = \\"举例一\\"\/><User Name = \\"举例二\\"\/><User Name = \\"举例三\\"\/><\/Users>";XmlDocument doc = new Xml...

请问C#控制台怎么检索一个txt文件中的某几个字并输出?
检索的话一般就是扫描了,你用数组保存检索值;然后把整个文件的所有文字遍历一遍;只要找到和数组顺序一致的连续相同的字符,就记录下后续内容,最后再输出记录的内容就行了

C#读取txt文件 从指定位置开始读取指定长度的字符 并赋值给一个字符串...
流程应该是:先打开文件,然后 Seek到指定位置,然后读出指定位置的数据 如果还想快一点,考虑用内存映射的方式(猜,没试过)至于前面提到的 ReadAllText ,是将数据全部读入内存,在处理,基本不符合你的要求

相似回答