针对windows的Linux c++代码修改
Linux c++ code modification for windows
我主要使用Linux进行开发,但Windows是办公室的标准操作系统。因此,我为Windows环境编写了一个简单的文件操作代码。
以下代码(用于打印文件行)在Linux中运行良好,但在Windows中编译时,在运行可执行文件后不会获得任何输出。
#include <iostream>
#include <fstream>
#include <string>
int main()
{
std::ifstream stream;
stream.open("n.txt");
if(!stream)
{
std::cerr << "Rrror opening file.n";
return 1;
}
std::string result;
while(std::getline(stream, result))
{
std::cout << result << endl;
}
return 0;
}
以下是我在Powershell中给出的编译命令:
g++ manip.cpp
文本文件n.txt如下:
*DLOAD
362521,P1,-0.000129208
362524,P2,-1.67058e-005
362525,P1,-0.000105441
362528,P2,-1.87842e-005
362529,P1,-0.000106145
362532,P2,-1.84522e-005
362533,P1,-0.000105311
使用现有编译器运行程序时,我能做些什么?
Windows和Linux文本文件有一点不同:它们的行结尾。Linux有纯换行符("n"
),而Windows有回车符和换行符("rn"
)。
如果您尝试在Windows系统上使用Linux(或者更确切地说是UNIX,因为这是它的来源)行尾读取文件,则不会识别行尾,它将被读取为一条长行。
Linux端有转换行尾的实用程序(例如搜索dos2unix
和unix2dos
),现在大多数现代文本编辑器(在这两个系统上)也可以转换行尾。
通过对文本文件进行十六进制转储,可以很容易地验证这个问题,并查看该行是以0x0c 0x0a
结尾还是仅以0x0a
结尾。
相关文章:
- 我应该如何修改此代码以使用给定字符串中的字母打印菱形图案
- 修改 VS Code 中的默认C++代码段
- 如何修改代码以打印出数组 v2
- 修改链表主函数代码,用户将在其中输入节点的索引和数据以及正确的消息
- 代码错误修改
- 我在代码中收到一个运行时错误,该错误如何通过修改最多一个元素来查找数组是否可以变得不减少
- 如何跟踪通过外部代码修改类变量的所有位置
- "check if member exists using enable_if"中修改的代码不起作用
- 我在让我的代码输出整个链表时遇到问题.它只是输出我修改过的一些文本文件,而不是整个东西
- 张量流内核代码修改
- 代码审查:常量字符 * 修改
- 如果我制作一个代码,每个线程都会修改数组的完全不同的部分,则将保持缓存相干性
- 如何查看修改后的代码,其中对内联函数进行了预处理
- 是否可以有一个零成本assert(),这样代码就不必在调试和发布版本之间进行修改
- Matlab 编码器错误 "for loop index expressions.." 如何修改代码?
- 如何修改CUDA代码以获得100%的GPU负载
- 如何修改此基于MFC的代码片段以使用自己选择的窗口类名
- 是否可以用最少的代码更改来修改函数调用
- 重新配置C++代码以处理“警告:未按顺序修改和访问参数”
- 针对windows的Linux c++代码修改