我正在尝试构建一个程序将某个字符串打印到文本文件中,我现在要做的是制作一个“if”命令来删除前一个字符来自另一个特定字符,例如:
if(character 'a' came directly before character 'b') \\"ab"
delete a ;
对不起我的代码,但我真的不知道怎么做。 谢谢。
答案 0 :(得分:4)
您需要一个计划:
有合理的选择,首先:在程序中对字符串进行硬编码,并对文件的名称进行硬编码。
所以我们留下了处理和倾销:
std::string
,查找at()
方法和erase
方法(使用位置,而不是迭代器)std::ofstream
,查找其构造函数(采用文件名)并使用<<
方法将数据放入其中:myfile << mystring;
答案 1 :(得分:2)
请尝试以下代码:
for (int index = 0; arr[index] != '\0'; index++)
{
if(arr[index] == 'a' && (arr[index+1] == 'b')
continue;
//write char to file;
}
答案 2 :(得分:0)
#include "stdafx.h"
#include <string>
#include <regex>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
string test = "asdfabasdabab";
regex reg(".b");
test = regex_replace(test, reg, "b");
cout << test << endl;
}
或
#include <string>
#include <regex>
#include <iostream>
int main()
{
std::string test = "asdfabasdabab";
std::regex reg("ab");
test = regex_replace(test, reg, "b");
std::cout << test << std::endl;
}
将此字符串写入文件add:
#include <fstream>
std::ofstream out("output.txt");
out << test;
out.close();
答案 3 :(得分:-1)
这听起来像一个简单的搜索并取代我:替换
"ab"
"b"
std::string
replaceSequence(
std::string const& original,
std::string const& from,
std::string const& to )
{
std::string results;
std::string::const_iterator start = original.begin();
std::string::const_iterator end = original.end();
std::string::const_iterator next
= std::search( start, end, from.begin(), from.end() );
while ( next != end ) {
results.append( start, next );
results.append( to.begin(), to.end() );
start = next + (to.end() - to.begin());
next = std::search( start, end, from.begin(), from.end() );
}
results.append( start, next );
return results;
}
。我通常使用的功能是:
{{1}}
如果你做了很多文字,这是一个很有用的功能 处理
答案 4 :(得分:-2)
可能会有所帮助.............
int main(void)
{
char* str = malloc(strlen("abcdef")+1);
strcpy (str, "abcdef");
removeChar (str, 'b');
printf ("%s", str);
free (str);
return 0;
}
结果:
acdef
检查以下链接
http://stackoverflow.com/questions/5457608/c-remove-character-from-string
http://www.dreamincode.net/forums/topic/63164-removing-character-from-string/