我有一些格式爲#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