change.cpp

本文介绍了一个使用C++编写的简单程序,该程序能够根据用户提供的文件名、字节位置及新的字符内容来修改指定文件中的特定字节。程序通过命令行参数接收输入,并实现了对文件的基本错误检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1194442938015&lmt=1194190197&format=336x280_as&output=html&correlator=1194442937843&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2Flhh1%2F%E6%A1%8C%E9%9D%A2%2FCLanguage.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=583001034.1194442938&ga_sid=1194442938&ga_hid=1942779085&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency"> #include <iostream.h>
#include <fstream.h>
#include <stdlib.h>

void main(int argc, char *argv[])
 {
   if(argc!=4)
    {
      cout << "Usage: change <filename> <byte> <character>" << endl;
      exit (1);
    }
   fstream out(argv[1], ios::in | ios::out | ios::binary);
   if(!out)
    {
      cout << "Cannot open file!";
      exit (1);
    }
   out.seekp(atoi(argv[2]), ios::beg);
   out.put(*argv[3]);
   out.close();
 }

D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:13: error: class 'view::equipment::kchangemanage' does not have any field named 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp: In constructor 'view::equipment::kchangemanage::kchangemanage(QWidget*)': D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:13:7: error: class 'view::equipment::kchangemanage' does not have any field named 'm_model' 13 | , m_model(nullptr) // 初始化模型指针 | ^~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:14: error: class 'view::equipment::kchangemanage' does not have any field named 'm_currentMatchIndex' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:14:7: error: class 'view::equipment::kchangemanage' does not have any field named 'm_currentMatchIndex' 14 | , m_currentMatchIndex(-1) { // 初始化匹配索引 | ^~~~~~~~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:27: error: no declaration matches 'void view::equipment::kchangemanage::setModel(QAbstractItemModel*)' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp: At global scope: D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:27:6: error: no declaration matches 'void view::equipment::kchangemanage::setModel(QAbstractItemModel*)' 27 | void kchangemanage::setModel(QAbstractItemModel *model) { | ^~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:27:6: note: no functions named 'void view::equipment::kchangemanage::setModel(QAbstractItemModel*)' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:1: In file included from D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:1: In file included from D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:1: D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.h:15:7: note: 'class view::equipment::kchangemanage' defined here 15 | class kchangemanage : public QDialog { | ^~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:45: error: 'm_matchedRows' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp: In member function 'void view::equipment::kchangemanage::on_find_clicked()': D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:45:5: error: 'm_matchedRows' was not declared in this scope 45 | m_matchedRows.clear(); // 清空历史匹配结果 | ^~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:46: error: 'm_currentMatchIndex' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:46:5: error: 'm_currentMatchIndex' was not declared in this scope 46 | m_currentMatchIndex = -1; | ^~~~~~~~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:48: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:48:10: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 48 | if (!m_model) { | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:55: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:55:29: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 55 | for (int row = 0; row < m_model->rowCount(); ++row) { | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:70: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:70:31: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 70 | QModelIndex targetIndex = m_model->index(m_matchedRows.first(), 0); | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:77: error: 'm_matchedRows' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp: In member function 'void view::equipment::kchangemanage::on_next_clicked()': D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:77:9: error: 'm_matchedRows' was not declared in this scope 77 | if (m_matchedRows.isEmpty()) { | ^~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:82: error: 'm_currentMatchIndex' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:82:5: error: 'm_currentMatchIndex' was not declared in this scope 82 | m_currentMatchIndex = (m_currentMatchIndex + 1) % m_matchedRows.size(); | ^~~~~~~~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:82: error: 'm_matchedRows' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:82:55: error: 'm_matchedRows' was not declared in this scope 82 | m_currentMatchIndex = (m_currentMatchIndex + 1) % m_matchedRows.size(); | ^~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:83: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:83:31: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 83 | QModelIndex targetIndex = m_model->index(m_matchedRows[m_currentMatchIndex], 0); | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:90: error: 'm_matchedRows' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp: In member function 'void view::equipment::kchangemanage::on_before_clicked()': D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:90:9: error: 'm_matchedRows' was not declared in this scope 90 | if (m_matchedRows.isEmpty()) { | ^~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:95: error: 'm_currentMatchIndex' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:95:5: error: 'm_currentMatchIndex' was not declared in this scope 95 | m_currentMatchIndex = (m_currentMatchIndex - 1 + m_matchedRows.size()) % m_matchedRows.size(); | ^~~~~~~~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:95: error: 'm_matchedRows' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:95:54: error: 'm_matchedRows' was not declared in this scope 95 | m_currentMatchIndex = (m_currentMatchIndex - 1 + m_matchedRows.size()) % m_matchedRows.size(); | ^~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:96: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:96:31: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 96 | QModelIndex targetIndex = m_model->index(m_matchedRows[m_currentMatchIndex], 0); | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:121: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp: In member function 'void view::equipment::kchangemanage::on_change_clicked()': D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:121:33: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 121 | QModelIndex nameIndex = m_model->index(row, nameColumn); | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:129: error: 'fliterModel' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:129:40: error: 'fliterModel' was not declared in this scope 129 | if (auto proxyModel = qobject_cast<fliterModel::FilterProxyMdel*>(m_model)) { | ^~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:129: error: parse error in template argument list D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:129:27: error: parse error in template argument list 129 | if (auto proxyModel = qobject_cast<fliterModel::FilterProxyMdel*>(m_model)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:129: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:129:71: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 129 | if (auto proxyModel = qobject_cast<fliterModel::FilterProxyMdel*>(m_model)) { | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:134: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:134:9: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 134 | if (m_model->submit()) { // 源模型提交到数据库 | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:163: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp: In member function 'void view::equipment::kchangemanage::on_deleteButton_clicked()': D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:163:14: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 163 | if (!m_model->removeRow(row)) { | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:170: error: 'fliterModel' was not declared in this scope D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:170:40: error: 'fliterModel' was not declared in this scope 170 | if (auto proxyModel = qobject_cast<fliterModel::FilterProxyMdel*>(m_model)) { | ^~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:170: error: parse error in template argument list D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:170:27: error: parse error in template argument list 170 | if (auto proxyModel = qobject_cast<fliterModel::FilterProxyMdel*>(m_model)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:170: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:170:71: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 170 | if (auto proxyModel = qobject_cast<fliterModel::FilterProxyMdel*>(m_model)) { | ^~~~~~~ | modfl D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:175: error: 'm_model' was not declared in this scope; did you mean 'modfl'? D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:175:9: error: 'm_model' was not declared in this scope; did you mean 'modfl'? 175 | if (m_model->submit()) { | ^~~~~~~ | modfl mingw32-make.exe[2]:-1: *** [CMakeFiles\LabNexus.dir\build.make:269: CMakeFiles/LabNexus.dir/view/equipmentManage/kchangemanage.cpp.obj] Error 1 mingw32-make.exe[1]:-1: *** [CMakeFiles\Makefile2:114: CMakeFiles/LabNexus.dir/all] Error 2 mingw32-make.exe:-1: *** [Makefile:100: all] Error 2 D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:13: error: Member initializer 'm_model' does not name a non-static data member or base class D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:14: error: Member initializer 'm_currentMatchIndex' does not name a non-static data member or base class D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:27: error: Out-of-line definition of 'setModel' does not match any declaration in 'view::equipment::kchangemanage' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:28: error: Use of undeclared identifier 'm_model'; did you mean 'model'? (fix available) D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:27: 'model' declared here D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:29: error: Use of undeclared identifier 'm_model'; did you mean 'model'? (fix available) D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:27: 'model' declared here D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:30: error: Use of undeclared identifier 'm_model'; did you mean 'model'? (fix available) D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:27: 'model' declared here D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:45: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:46: error: Use of undeclared identifier 'm_currentMatchIndex' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:48: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:55: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:56: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:57: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:59: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:63: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:69: error: Use of undeclared identifier 'm_currentMatchIndex' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:70: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:70: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:77: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:82: error: Use of undeclared identifier 'm_currentMatchIndex' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:82: error: Use of undeclared identifier 'm_currentMatchIndex' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:82: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:83: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:83: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:90: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:95: error: Use of undeclared identifier 'm_currentMatchIndex' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:95: error: Use of undeclared identifier 'm_currentMatchIndex' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:95: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:95: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:96: error: Use of undeclared identifier 'm_matchedRows' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:96: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:121: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:122: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:129: error: Use of undeclared identifier 'fliterModel' (fix available) D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:129: error: Expected expression D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:129: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:134: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:163: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:170: error: Use of undeclared identifier 'fliterModel' (fix available) D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:170: error: Expected expression D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:170: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:175: error: Use of undeclared identifier 'm_model' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:83: error: Use of undeclared identifier 'm_currentMatchIndex' D:\QT_PROGRAM\LabNexus\view\equipmentManage\kchangemanage.cpp:96: error: Use of undeclared identifier 'm_currentMatchIndex'
07-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值