head: 无法以读模式打开 'MyDoc/first': 没有那个文件或目录
时间: 2024-10-13 21:03:00 浏览: 26
在您提供的引用中提到的是两个不同的命令:
1. 使用`vim`编辑器打开名为`first`的文件[^1]:
```
vim first // 打开名为first的文件(假设它位于当前工作目录下)
r ~/exp2/vim.txt // 如果first不存在,您可以尝试从~/exp2/vim.txt加载内容到该文件中,但这并不是vim的默认行为,通常直接打开就足以创建新文件并开始输入。
2. 使用`find`命令查找`.c`扩展名的文件并将结果追加到`~/exp2/Mydir/c.file`:
```
find -name "*.c" >> ~/exp2/Mydir/c.file // 这将在当前目录及其子目录中搜索.c文件,找到后将它们的路径添加到指定的文件中
关于您的问题,`head`命令无法以读模式打开`MyDoc/first`是因为找不到这个文件或路径存在问题。可能是文件路径错误、文件未创建或者权限问题。请确认`MyDoc/first`的确存在并且您具有足够的权限访问它。如果`first`不存在,则可能需要先使用`vim`创建它。
相关问题
将挂载到目录/mnt/mydoc3下的文件系统卸载。
您可以使用以下命令将挂载到目录/mnt/mydoc3下的文件系统卸载:
```
umount /mnt/mydoc3
```
执行该命令后,系统会卸载该文件系统,并且释放该挂载点。请注意,在卸载文件系统之前,确保该文件系统中的所有数据已经保存并且没有任何进程在使用该文件系统中的文件。否则,如果您强制卸载该文件系统,可能会导致数据丢失或文件损坏。
VC mfc单文档中代码如下void CMyView::OnDraw(CDC* pDC) { CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); for (int i=0;i<points.size();i++){ color=RGB(rand()%6,rand()%6,rand()%6); r=rand()F+5; br.CreateSolidBrush(color); pDC->SelectObject(&br); pDC->Ellipse(points[i].x-r,points[i].y-r,points[i].x+r,points[i].y+r); br.DeleteObject(); } // TODO: add draw code for native data here } ///////////////////////////////////////////////////////////////////////////// // CMyView printing BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo) { // default preparation return DoPreparePrinting(pInfo); } void CMyView::OnBeginPrinting(CDC* /pDC/, CPrintInfo* /pInfo/) { // TODO: add extra initialization before printing } void CMyView::OnEndPrinting(CDC* /pDC/, CPrintInfo* /pInfo/) { // TODO: add cleanup after printing } ///////////////////////////////////////////////////////////////////////////// // CMyView diagnostics #ifdef _DEBUG void CMyView::AssertValid() const { CView::AssertValid(); } void CMyView::Dump(CDumpContext& dc) const { CView::Dump(dc); } CMyDoc* CMyView::GetDocument() // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc))); return (CMyDoc*)m_pDocument; } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMyView message handlers void CMyView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default center=point; r=rand()F+5;//r=5~50 color=RGB(rand()%6,rand()%6,rand()%6); points.push_back(center); SetTimer(1,200,NULL); CView::OnLButtonDown(nFlags, point); } void CMyView::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CView::OnLButtonUp(nFlags, point); } void CMyView::rise() { for(int i=0;i<points.size();i++) { points[i].y-=5; if(points[i].y<-r) { points.erase(points.begin()+i); i--; } } } void CMyView::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default if(nIDEvent==1){ RedrawWindow(); rise(); } CView::OnTimer(nIDEvent); },怎么修改此代码能实现每次单击鼠标出现的圆大小和颜色随机,但在圆的上升过程中大小和颜色都为刚开始单击鼠标时的大小和颜色,不会不停的变换。并且前面单击鼠标出现的圆的颜色和大小不会随着后面单击鼠标出现的圆的颜色和大小改变而改变。给出完整步骤及代码
要实现每次单击鼠标出现的圆大小和颜色随机,但在圆的上升过程中大小和颜色都为刚开始单击鼠标时的大小和颜色,不会不停的变换,可以在OnLButtonDown函数中加入随机颜色和大小的代码,如下所示:
void CMyView::OnLButtonDown(UINT nFlags, CPoint point) {
// TODO: Add your message handler code here and/or call default
center=point;
r=rand()%46+5; //r范围为5~50
color=RGB(rand()%256,rand()%256,rand()%256); //RGB颜色随机
points.push_back(center);
SetTimer(1,200,NULL);
CView::OnLButtonDown(nFlags, point);
}
要实现前面单击鼠标出现的圆的颜色和大小不会随着后面单击鼠标出现的圆的颜色和大小改变而改变,可以在OnDraw函数中,每次绘制圆之前先保存之前的画刷对象,然后绘制,绘制完成之后再恢复之前的画刷对象。修改后的OnDraw函数代码如下:
void CMyView::OnDraw(CDC* pDC) {
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
for (int i=0;i<points.size();i++){
CBrush* pOldBrush=pDC->SelectObject(&brush);
pDC->Ellipse(points[i].x-r,points[i].y-r,points[i].x+r,points[i].y+r);
pDC->SelectObject(pOldBrush);
}
// TODO: add draw code for native data here
}
完整代码如下:
// MyView.cpp : implementation of the CMyView class
//
#include "stdafx.h"
#include "My.h"
#include "MyDoc.h"
#include "MyView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CMyView
IMPLEMENT_DYNCREATE(CMyView, CView)
BEGIN_MESSAGE_MAP(CMyView, CView)
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_TIMER()
END_MESSAGE_MAP()
// CMyView construction/destruction
CMyView::CMyView()
{
// TODO: add construction code here
}
CMyView::~CMyView()
{
}
BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
// CMyView drawing
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
for (int i=0;i<points.size();i++){
CBrush* pOldBrush=pDC->SelectObject(&brush);
pDC->Ellipse(points[i].x-r,points[i].y-r,points[i].x+r,points[i].y+r);
pDC->SelectObject(pOldBrush);
}
// TODO: add draw code for native data here
}
// CMyView printing
BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
// CMyView diagnostics
#ifdef _DEBUG
void CMyView::AssertValid() const
{
CView::AssertValid();
}
void CMyView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CMyDoc* CMyView::GetDocument() const // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
return (CMyDoc*)m_pDocument;
}
#endif //_DEBUG
// CMyView message handlers
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
center=point;
r=rand()%46+5; //r范围为5~50
color=RGB(rand()%256,rand()%256,rand()%256); //RGB颜色随机
brush.CreateSolidBrush(color);
points.push_back(center);
SetTimer(1,200,NULL);
CView::OnLButtonDown(nFlags, point);
}
void CMyView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CView::OnLButtonUp(nFlags, point);
}
void CMyView::rise()
{
for(int i=0;i<points.size();i++)
{
points[i].y-=5;
if(points[i].y<-r)
{
points.erase(points.begin()+i);
i--;
}
}
}
void CMyView::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(nIDEvent==1){
RedrawWindow();
rise();
}
CView::OnTimer(nIDEvent);
}
阅读全文