写一个给txt格式文件每一行加行号的程序c++实现
时间: 2024-05-02 19:19:46 浏览: 8
好的,这是一个比较简单的操作,你可以参考以下代码:
```c
#include <stdio.h>
int main()
{
FILE *fp = fopen("input.txt", "r"); // 打开文件
FILE *out = fopen("output.txt", "w");
if (fp == NULL) // 判断文件是否成功打开
{
printf("无法打开文件!\n");
return 0;
}
char line[1000];
int lineNum = 1;
while (fgets(line, 1000, fp) != NULL) // 逐行读取文件内容
{
fprintf(out, "%d %s", lineNum, line); // 将行号与内容写入新文件
lineNum++;
}
fclose(fp); // 关闭文件
fclose(out);
return 0;
}
```
这个程序可以将名为"input.txt"的文件每一行前面加上行号,然后将结果输出到"output.txt"文件中。你可以根据实际情况修改文件名和文件路径。希望对你有所帮助!
相关问题
用c++编写程序,用二进制文件打开一个文件,在每一行前面加行号
好的,我可以帮你解决这个问题。以下是一个例子程序,可以实现读取文件、加入行号并输出到新文件的功能。
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
string input_file_name = "input.txt";
string output_file_name = "output.txt";
ifstream input_file(input_file_name, ios::binary);
ofstream output_file(output_file_name, ios::binary);
if (input_file.is_open() && output_file.is_open()) {
int line_number = 1;
string line;
while (getline(input_file, line)) {
output_file << line_number << ": " << line << endl;
line_number++;
}
input_file.close();
output_file.close();
cout << "Success!" << endl;
}
else {
cout << "Failed to open files!" << endl;
}
return 0;
}
```
这个程序假设输入文件名为 `input.txt`,输出文件名为 `output.txt`。程序首先尝试以二进制模式打开这两个文件,如果打开成功,就遍历输入文件的每一行,将行号和原始内容一起输出到输出文件中。
请注意,程序中的行号是从 1 开始的。如果你需要从 0 开始,可以将 `line_number` 的初始值设为 0。
希望这个例子程序可以帮到你。如果还有其他问题,请随时问我。
c++编写程序用二进制打开指定的一个文件,在文件的每一行前加行号
好的,我可以为您提供一个实现这个功能的C++程序,您可以参考以下代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string inputFile = "input.txt"; // 输入文件的路径
string outputFile = "output.txt"; // 输出文件的路径
ifstream fin(inputFile, ios::binary); // 以二进制模式打开输入文件
ofstream fout(outputFile, ios::binary); // 以二进制模式打开输出文件
int lineNumber = 1; // 行号从1开始计数
string line;
while (getline(fin, line)) // 逐行读取输入文件
{
// 将行号和行内容写入输出文件
fout << lineNumber << ": " << line << endl;
lineNumber++;
}
fin.close(); // 关闭输入文件
fout.close(); // 关闭输出文件
cout << "完成" << endl;
return 0;
}
```
注意,在使用此程序时,需要将`input.txt`替换为您要处理的文件的路径,将`output.txt`替换为输出文件的路径。程序会将每一行前加上行号,并将结果写入输出文件。如果您需要在控制台输出结果,请将`fout`替换为`cout`。
另外,该程序使用了C++的STL库中的`<fstream>`和`<string>`头文件,需要在编译时添加`-std=c++11`选项。例如,在Linux系统下,可以使用以下命令进行编译:
```bash
g++ -std=c++11 main.cpp -o main
```
希望能帮到您!