我有一些格式为#include“filename.h”的字符串,我需要从所有这些字符串中提取filename.h部分。例如,#include“apple.h”#include“mango.h”#include“Strawberry.h”。在C++中修剪字符串
getline(Myfile,str1); //str1 now contains a line from a text file i.e #include "Strawberry.h"
std::cout <<"\t\t"<<str1.substr(10,(line.length())) <<std::endl;
输出: Strawberry.h “
如何获得摆脱” 到底和刚刚获得apple.h或Strawberry.h?
谢谢你这个工作MAK! – 2012-02-04 05:31:17
@Deepak B - 我完全不同意。硬编码的值是“坏”。user814628的建议可能需要三行 - 但它是正确的方法你*真的*想“找到引号之间的字符串”NOT“位置10和len-11之间的字符串”恕我直言...... – paulsm4 2012-02-04 18:16:47
@ paulsm4:我的假设是该行的格式是固定的并且在它之前只有一组带引号的字符串“#include”。尝试任意字符串需要比仅仅查找开始和结束引号更复杂的内容(可能有多于一组引号,引号可能嵌套等等。) – MAK 2012-02-04 22:46:47