社区
C++ 语言
帖子详情
求助 C++文件打开
ma627936518
2012-05-21 09:44:42
做了一个Socket通信的,客户端要做的是接收文件,并打开文件。,但是不能功能不能实现,syn.txt不能打开,每次都是打开一个新的文本文件,显示“另一个程序正在使用此文件,进程无法访问”,是不是前面对syn.txt有操作没有关闭呢?求帮助。。。2楼贴代码
...全文
76
4
打赏
收藏
求助 C++文件打开
做了一个Socket通信的,客户端要做的是接收文件,并打开文件。,但是不能功能不能实现,syn.txt不能打开,每次都是打开一个新的文本文件,显示“另一个程序正在使用此文件,进程无法访问”,是不是前面对syn.txt有操作没有关闭呢?求帮助。。。2楼贴代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ma627936518
2012-05-21
打赏
举报
回复
谢啦[Quote=引用 3 楼 的回复:]
HANDLE hFile=CreateFile(filename,GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
read=recv( client, recvbuf, 1024, 0 );
if (read==-1)
{
printf("读取文件失败\n");
}
bRet=WriteFile(hFile,recvb……
[/Quote]
fishion
2012-05-21
打赏
举报
回复
HANDLE hFile=CreateFile(filename,GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
read=recv( client, recvbuf, 1024, 0 );
if (read==-1)
{
printf("读取文件失败\n");
}
bRet=WriteFile(hFile,recvbuf,read,&dwWrite,NULL);
if(bRet==FALSE)
{
MessageBox(NULL,"Write Buf ERROR!","Error",MB_OK);
}
MessageBox(NULL,"Receive file OK!","OK",MB_OK);
//清空接收缓冲区
memset(recvbuf,0,sizeof(recvbuf));
CloseHandle(hFile);
Furney
2012-05-21
打赏
举报
回复
对文件的操作为确保一致性需要加锁
ma627936518
2012-05-21
打赏
举报
回复
#include <stdio.h>
#include <winsock2.h>
#include "md5.h"
#include <iostream>
#include <stdlib.h>
#include <Windows.h>
#include <ShellAPI.h>
#pragma comment(lib, "ws2_32.lib")
using namespace std;
void main() {
// 初始化 Winsock.
WSADATA wsaData;
int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
if ( iResult != NO_ERROR )
printf("Error at WSAStartup()/n");
// 建立socket socket.
SOCKET client;
client = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if ( client == INVALID_SOCKET ) {
printf( "Error at socket(): %ld/n", WSAGetLastError() );
WSACleanup();
return;
}
// 连接到服务器.
sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin_addr.s_addr = inet_addr( "127.0.0.1" );
clientService.sin_port = htons( 8000 );
if ( connect( client, (SOCKADDR*) &clientService, sizeof(clientService) ) == SOCKET_ERROR) {
printf( "Failed to connect.\n" );
WSACleanup();
return;
}
char recvbuf[1024];//发送缓冲区
int read;
DWORD dwWrite;
BOOL bRet;
// 发送并接收数据.
char filename[]="g:\\syn.txt";
HANDLE hFile=CreateFile(filename,GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
read=recv( client, recvbuf, 1024, 0 );
if (read==-1)
{
printf("读取文件失败\n");
}
bRet=WriteFile(hFile,recvbuf,read,&dwWrite,NULL);
if(bRet==FALSE)
{
MessageBox(NULL,"Write Buf ERROR!","Error",MB_OK);
}
MessageBox(NULL,"Receive file OK!","OK",MB_OK);
//清空接收缓冲区
memset(recvbuf,0,sizeof(recvbuf));
//打开文本文件
SHELLEXECUTEINFO shell = { sizeof(shell) };
shell.fMask = SEE_MASK_FLAG_DDEWAIT;
shell.lpVerb = "open";
shell.lpFile = "g:\\syn.txt";
shell.nShow = SW_SHOWNORMAL;
int nError = GetLastError();
printf("%s\n",nError);
int ret = 0;
ret = ShellExecuteEx(&shell);
if ( ret == 0 )
{
cout<<"文件打开失败::"<<GetLastError()<<endl;
}
system("pause");
return;
}
Kotlin+变量定义+函数定义+数组+实例
Kotlin+变量定义+函数定义+数组+实例 这篇文章主要是写给需要快速上手Kotlin 的 Java 程序员看的, 这时候他们关注的是如 何 Kotlin 写出类似某些 Java 的写法,所以本文基本不涉及 Kotlin 的高级特性。
基于STM32F103 全栈设计 消防栓检测系统
所有资源链接:https://blog.csdn.net/morecrazylove/article/details/125179698 本设计涵盖:元器件选型、原理图设计、PCB设计、单片机程序(寄存器编写)、Android APP设计、阿里云物联网平台搭建、CAD设计、无线通信
基于
C++
MATLAB跨平台编程,实现计算流体力学中结构化网格划分源码+全部资料.zip
【资源说明】 基于
C++
MATLAB跨平台编程,实现计算流体力学中结构化网格划分源码+全部资料.zip基于
C++
MATLAB跨平台编程,实现计算流体力学中结构化网格划分源码+全部资料.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕设项目、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 3、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
一些传统推荐算法的实现,包括基于内容的推荐,协同过滤,矩阵分解+源代码+文档说明
- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先
打开
README.md
文件
(如有),仅供学习参考, 切勿用于商业用途。 --------
招聘爬虫 (JobCrawler) 介绍:这个脚本可以爬取招聘网站上的职位信息,如职位名称、公司、工作地点等,并打印出来
用法:运行脚本并传入招聘网站的URL,脚本会爬取职位列表,并打印出每个职位的信息。 爬虫需要遵守网站的robots.txt
文件
规定,确保不爬取被禁止的内容。 在实际使用中,可能需要处理反爬虫机制,如验证码、动态加载内容等。 实际应用中可能需要处理更复杂的情况,如登录验证、JavaScript渲染的内容、分页加载等。此外,还需要注意遵守法律法规和网站的robots.txt规定,以及尊重网站的版权和隐私。在开发爬虫时,建议深入研究目标网站的结构和规则,使用合适的工具和库,并遵循最佳实践来确保爬虫的效率和合法性。
C++ 语言
64,444
社区成员
250,626
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章