我想在文本文件DATA.txt中的每一行的开头写一个字符串。
输入:
Hello
my
name
is
steven
输出:
1.hello
1.my
1.name
1.is
1.steven
我想在每一行找到字符串,然后将特定文本1.
放在它前面。
答案 0 :(得分:3)
我不知道这与记事本有什么关系。如果您想在文本文件中添加一个字符串前面的每一行,只需
如果这不是你想要的,你应该更具体地问。
答案 1 :(得分:2)
我希望以下代码对您有所帮助:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
string line, new_content;
string prefix = "1.";
char filename[] = "DATA.txt";
// Read lines and prepare contents by prefixing lines with a prefix
ifstream infile(filename);
while ( infile >> line ) {
new_content += prefix + line + "\n";
}
infile.close();
// Write contents
ofstream outfile(filename);
outfile << new_content;
outfile.close();
return 0;
}
答案 2 :(得分:1)
这是在黑暗中刺伤,但你的意思是它应该读取现有的文本文件以获取文本行吗?
#include <string>
#include <fstream>
#include <iostream>
int main()
{
std::ifstream inputFile("c:\\input.txt");
std::ofstream outputFile("c:\\output.txt");
std::string line;
while (std::getline(inputFile, line))
outputFile << "1." << line << std::endl;
return 0;
}
这意味着,打开输入文件和输出文件,然后对于从输入文件中读取的每一行,将其写入输出文件,前面有1.
。
答案 3 :(得分:1)
这是不应该使用C ++的完美示例。如果你在Unix上,你会做
cat myFile.txt | sed 's/^/1./
在Windows上,我相信你可以用bat文件或新shell(PowerSomething?)做些什么。请不要使用C ++。
答案 4 :(得分:0)
我真的不明白这个问题。
但是,您应该谨慎选择使用哪种工具。记事本和C ++都不适合您想要的工作。你应该使用sed,perl或一个好的文本编辑器(vim)。
答案 5 :(得分:0)
我认为通过cout语句对标准I / O进行简要介绍是有条不紊的。您可以通过以下示例中调用的“cout”函数打印到控制台:
cout << "I used a cout statement, lolz";
同样,您可以通过换行符“\ n”或在“cout”语句末尾使用“&lt;&lt; endl”将新行打印到控制台
cout << "This is the newline character \n";
cout << "This is endl" << endl;
我希望这会有所帮助。请记住,为了使用cout,您需要包含iostream库。
答案 6 :(得分:0)
一种可能的方法。
#include <fstream>
using namespace std;
int main()
{
//use for a series of numbers
int i=0;
// or use if you want 1 number
int j=1;
ofstream out ("yourfile.txt", ios::app);
//use j if you want to display 1 with dot (.)
out << i++ << "." << "Hello" << endl;
out << i++ << "." << "my" << endl;
out << i++ << "." << "name" << endl;
out << i++ << "." << "is" << endl;
out << i++ << "." << "Steven" << endl;
}
编辑:与字符串相同的代码!
#include <fstream>
#include <string>
using namespace std;
int main()
{
string strText[] = {
"Hello",
"my",
"name",
"is",
"steven"
};
//use for a series of numbers
int i=0;
// or use if you want 1 number
int j=1;
ofstream out ("yourfile.txt", ios::app);
//use j if you want to display 1 with dot (.)
out << i++ << "." << strText[0] << endl;
out << i++ << "." << strText[1] << endl;
out << i++ << "." << strText[2] << endl;
out << i++ << "." << strText[3] << endl;
out << i++ << "." << strText[4] << endl;
}
答案 7 :(得分:0)
只需使用前缀变量:
#include <fstream>
using namespace std;
ofstream file;
string prefix = "1. ";
out_file.open("test.txt");
out_file << prefix << "some text" << endl;
out_file << prefix << "some other text" << endl;
out_file.close();
或者您可以编写一些便利功能来执行此操作:
void writeLine(ofstream file, string text)
{
file << "1. " << text << endl;
}
当然,还有更多的可能性。