c++如何读取一个文件中的一部分字符串内容

文件内容MM5 net010 B1 vss! vss! NMOS_3P3 W=3.02426e-6 L=350.498e-9
然后提取 MM5 NMOS_3P3 输出
急~~~~~~~~~~~~~~~~~~~
最好写出程序做下参考

可以使用到字符串函数的substr()函数,包含在头文件<cstring>中;
针对你上面的问题,可以先将文件内容全部保存在一个字符串str中,
(可以包括空格一起写入,也可以不保存空格;为了节约我这里讲的
是不保存空格的方式)
1、将文件内容读取出来并保存到str中,那么str中的内容是
“MM5net010B1vss!vss!NMOS_3P3W=3.02426e-6L=350.498e-9”;
2、定义二个新的字符串str1,str2;
3、给str1、str2赋值:
str1=str.substr(0,3);
str2=str.substr(19,8);
4、经过上面的处理后,str1、str2得到的字符串就是你想要的了。

LZ,关于str的相关函数还请你自己下去研究研究就能理解了!
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-31
首先算出文件内容长度,用file_L = sizeof(文件名);
其次把要比较的内容放到数组buff1,文件的内容放到数组buff2,
for(j=0;j<11;j++)//要比较11个字符
for(i=0;i<file_L;i++)if(buff1[j]==buff[i]){
printf("%d%d",i,buff1[j]);
continue;// 跳出本次盾环
}
有了这些参考只要你懂一些调试方法,相信你是能做出来的,如果我把全部程序贴出来,对你个人而言是没好处的,此法请借签,谢谢本回答被提问者和网友采纳
第2个回答  2015-09-07
先将文件全部读入 char* 变量。再用 string 类 构建函数建一个string 对象,在把 char* 内容放入。

下面是将文件全部读入char * buffer;

/* fread example: read an entire file */
#include <stdio.h>
#include <stdlib.h>
int main () {
FILE * pFile;
long lSize;
char * buffer;
size_t result;
pFile = fopen ( "myfile.bin" , "rb" );
if (pFile==NULL) {fputs ("File error",stderr); exit (1);}
// obtain file size:
fseek (pFile , 0 , SEEK_END);
lSize = ftell (pFile);
rewind (pFile);
// allocate memory to contain the whole file:
buffer = (char*) malloc (sizeof(char)*lSize);
if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}
// copy the file into the buffer:
result = fread (buffer,1,lSize,pFile);
if (result != lSize) {fputs ("Reading error",stderr); exit (3);}
/* the whole file is now loaded in the memory buffer. */
// terminate
fclose (pFile);
free (buffer);
return 0;
}

构建函数建一个string 对象,把 char * buffer 内容存入 程序部分,请自己补充:
#include <windows.h>
#include<iostream>
#include <string>
using namespace std;
#include <stdio.h>
// 插入上面程序 .....
// 补充
string sss;
sss.assign(buffer,result);
cout << sss << endl;
第3个回答  2019-01-22
首先算出文件内容长度,用file_L
=
sizeof(文件名);
其次把要比较的内容放到数组buff1,文件的内容放到数组buff2,
for(j=0;j<11;j++)//要比较11个字符
for(i=0;i<file_L;i++)if(buff1[j]==buff[i]){
printf("%d%d",i,buff1[j]);
continue;//
跳出本次盾环
}
有了这些参考只要你懂一些调试方法,相信你是能做出来的,如果我把全部程序贴出来,对你个人而言是没好处的,此法请借签,谢谢
第4个回答  2010-01-31
文件字符读出来放到数组中 遇到空格或者换行符时进行串匹配

c++如何读取一个文件中的一部分字符串内容
1、将文件内容读取出来并保存到str中,那么str中的内容是 “MM5net010B1vss!vss!NMOS_3P3W=3.02426e-6L=350.498e-9”;2、定义二个新的字符串str1,str2;3、给str1、str2赋值:str1=str.substr(0,3);str2=str.substr(19,8);4、经过上面的处理后,str1、str2得到的字符串就是你想要的...

C++如何从文件中读取字符串
一般来说在C++语言中读取txt文件的信息有三种方法:1、使用C语言标准文件I\/O中的fopen()、fread()等等函数。示例如下(vc6.0下编译通过):include<stdio.h>FILE*stream;void main(void){long l;float fp;char s[81];char c; stream=fopen("fscanf.out","w+");if(stream==NULL)printf("The...

c++怎么提取字符串的一部分
find_last_of(string strSub, npos);其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子字符串首次出现的位置,否则返回-1;注:(1)find_last_of的npos为从末尾开始寻找的位置。(2)下文中用到的strsub(npos,size)函数,其中npos为开始位置,size为截取大小 例1:直接查找字符串中是...

C++中怎么从文件中直接读出某一行或写某一行
读出方法2:以ios::binary|ios::in即二进制流输入方式打开,依次判断是否'\\n',同样也可以读出指定的第几行 但是,如果想输出的话,即使用fstream方式打开,如果写入的第5行数据与原始第5行字节不同怎样办?肯定不能原文件内输出了,还是需要用一个新文件,这边读,那边写才行 另外,C语言用的是fg...

如何使用C++提取出一个文件中的特定字符串里面的数字 数据例子如下_百度...
char str[50]; string sstr; while(!in.eof()) { memset(str,0,sizeof(str)); in.getline(str,50,'\\n'); char *pstart=strstr(str,"FROM t0_"); if(pstart)\/\/表示能找到那个子句 pstart=pstart+strlen("FROM t0_"); char *pend=strstr(pstart," TO"); if(...

c++怎么读取文件中的中文字符串的几种方法
using namespace std;int main(){ ifstream ifs("test.cpp"); \/\/ 改成你要打开的文件 streambuf* old_buffer = cin.rdbuf(ifs.rdbuf());string read;while(cin >> read) \/\/ 逐词读取方法一 cout << read;cin.rdbuf(old_buffer); \/\/ 修复buffer } 方法二:include <iostream> include ...

c++的文件输入输出流中,能够从文件中读取数据的方法有哪些?
1.get()方法:get()方法是文件输入流中最基本的读取字符的方法。通过get()方法可以读取一个字符并将其放入字符变量中。语法:int get()2. getline()方法:getline()方法可以从文件输入流中读取一行数据,并将其存储在字符串变量中。语法:istream& getline(char* str, streamsize n)3. read()方法...

c++ 中如何读取文件 并使用文件中的数据
1、在电脑上新建一个文件夹,名称叫txt2array。然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。2、将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。3、向数据文件中写入一些演示用数据。4、标准库的输入输出类的关系。5、第一个操作读文件,我们可以...

C++文件读取中,怎样从文件中读取一种类型的数据
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。2、例程:include...

c++中如何读取指定文件中任意行的内容
ifstream inFile; inFile.open("c:\/\/test.txt"); \/\/ 打开文件 string str; \/\/ 字符串 getline(inFile, str, '\\n'); \/\/ 读取第一行内容,存入存str中 getline(inFile, str, '\\n'); \/\/ 读取第二次,第二行内容,存入存str中 getline(inFile, str, '\\n'); \/\/ 读取...

相似回答