#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
HANDLE hPort = CreateFile("COM2",
GENERIC_WRITE|GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
DCB dcb;
bool writebyte(char*data)
{
DWORD byteswritten;
if (!GetCommState(hPort,&dcb))
{
printf("\nSerial port can't be open\n");
return false;
}
dcb.BaudRate = CBR_9600;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
if (!SetCommState(hPort,&dcb))
return false;
bool retVal = WriteFile(hPort,data,1,&byteswritten,NULL);
return retVal;
}
int ReadByte()
{
int Val;
BYTE Byte;
DWORD dwBytesTransferred;
DWORD dwCommModemStatus;
if (!GetCommState(hPort,&dcb))
return 0;
SetCommMask(hPort,EV_RXCHAR | EV_ERR);
WaitCommEvent (hPort,&dwCommModemStatus,0);
if (dwCommModemStatus & EV_RXCHAR)
ReadFile …Run Code Online (Sandbox Code Playgroud) 我想在后台运行一个长期运行的opeartion.要求是:
该操作应该与调用线程异步运行.
调用线程可以等待操作完成并获得其结果
超时后,应立即中止操作.
我本来会使用任务,但我知道没有机制可以杀死任务死冷.取消令牌不适合我,我只会因为未知原因而卡住任务 - (一个bug),这是一个故障安全机制.针说如果任务被卡住,请求取消没有用.BackgroundWorker也是如此.
有没有比在调用线程和后台线程之间使用共享对象更精细的东西?
我已经在O_APPEND中打开了一个名为“ pranav”的文本文件| O_CREAT模式如下图所示:
#include<unistd.h>
#include<fcntl.h>
#include<stdio.h>
main()
{
//FILE Descriptor fdes
/*Open file pranav.txt in write-only mode,
O_CREAT creates file if it does not exist*/
int fdes = open("pranav.txt",O_APPEND | O_CREAT );
//Error returns -1
if(fdes!=-1)
{
//To write on file
if((write(fdes,"Pranav",6))== -1)
write(2,"File_Writing_Error",18);
//To print on screen
else
write(1,"Done",4);
}
else
{
//Print "error" on screen
write(2,"File_Opening_Error",18);
}
close(fdes);
}
Run Code Online (Sandbox Code Playgroud)
在O_APPEND模式下,它执行write(2,“ File_Writing_Error”,18); 语句,因此无法在文件上写入“ Pranav”,但是如果我使用O_WRONLY模式,则不会发生此错误并且程序可以成功运行
请参阅下面的代码和结果:
foo.c的:
const int extern_const = 1;
Run Code Online (Sandbox Code Playgroud)
main.c中
#include <stdio.h>
extern int extern_const;
int main(void)
{
printf("before: %d\n", extern_const);
extern_const = 2;
printf("after : %d\n", extern_const);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编译和结果:
$ gcc -shared -fpic foo.c -o libfoo.so
$ gcc main.c -L. -lfoo -o test
$ LD_LIBRARY_PATH=`pwd` ./test
before: 1
after : 2
Run Code Online (Sandbox Code Playgroud)
我声明了一个const int变量extern_const,它驻留在一个共享库中libfoo.so.在main.c中,我声明extern_const只是extern int没有extern const int,并将值从1更改为2. 这是安全有效的吗?
执行结果显示替换仍然有效.我听说覆盖const值会引发未定义的行为,事实上,当我一次编译foo.c和main.c(没有创建共享库)时,程序实际上在第二个printf之前以分段错误结束.
我想知道的是接下来的事情:
我想创建一个 while 循环,不断要求用户输入,直到用户ctrl-d退出。我怎样才能正确地做到这一点?我现在正在使用这个:
while (1)
{
printf("Enter host name: ");
fgets(user_input, 1000, stdin);
}
Run Code Online (Sandbox Code Playgroud)
这是可行的,除非用户必须点击ctrl-c来结束程序。我想不断询问用户输入,直到他/她点击ctrl- d。我怎样才能做到这一点?
我是xquery的新手,其中一个要求是通过查询xDB生成每日报告.
如果我硬编码日期,我可以从xDB生成报告,但如果我尝试从系统中读取当前日期,我在报告中没有得到任何值.
代码片段:
let $day := fn:current-date()
let $hours := ( '00', '01', '02', '03', '04',
'05', '06', '07', '08', '09',
'10', '11', '12', '13', '14',
'15', '16', '17', '18', '19',
'20', '21', '22', '23' )
let $ddhh := for $i in $hours return concat($day,"T",$i)
let $title := concat("Average Time By Documents in Hour on ", $day)
Run Code Online (Sandbox Code Playgroud)
在报告中:(" 2015-06-08Z小时文件平均时间"..)
硬编码值和current-date()函数之间的差异是时区"Z".如何摆脱时区"Z".我只想在变量$ day中说"2015-06-08"而不是"2015-06-08Z"
提前致谢.
我正在使用不同编译器的std :: string_view,并注意到每个编译器在使用非null终止的char数组初始化std :: string_view时会打印出不同的大小.
似乎每个编译器在打开优化时打印出正确的大小,但在优化关闭时打印出错误的大小(GCC除外,它在两种情况下都打印出正确的大小).
我的问题是:为什么会这样?
码:
// test.cpp
#include <iostream>
#ifdef __MINGW32__
#include <experimental/string_view>
#elif _MSC_VER
#include <string_view>
#endif
int main()
{
const char foo[3]{ 'f','o','o' };
#ifdef __MINGW32__
std::experimental::string_view str_v{ foo };
#elif _MSC_VER
std::string_view str_v{ foo };
#endif
std::cout << sizeof(foo) << " " << str_v.size() << '\n';
}
Run Code Online (Sandbox Code Playgroud)
输出:Visual C++ 19.00.24619.0
3 5 // cl /Zi /std:c++latest /EHsc /nologo /W4 test.cpp
3 3 // cl /O2 /std:c++latest /EHsc /nologo /W4 test.cpp …Run Code Online (Sandbox Code Playgroud) #include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
ofstream wysla;
wysla.open("wysla.txt", ios::app);
int kaput;
string s1,s2;
cout<<"Please select from the List below"<<endl;
cout<<"1.New entry"<<endl;
cout<<"2.View Previous Entries"<<endl;
cout<<"3.Delete an entry"<<endl;
cin>>kaput;
switch (kaput)
{
case 1:
cout<<"Dear diary,"<<endl;
getline(cin,s1);
wysla<<s1;
wysla.close();
break;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我试图保存一串字符但是不可能,例如,当我使用getline时,当我使用cin时,只保存第一个单词时,没有任何内容保存在文本文件中.我想保存整个条目我该怎么办?
由于在Java中实现接口的类必须定义接口中的每个方法以避免被声明为抽象,我想知道以下内容:
当我创建一个实例化Hashtable对象的程序时,为什么我不需要在Map接口中定义每个方法?我没有明确定义的方法是自动创建的"存根"吗?
我在我的Ubuntu机器上运行了一个linux可执行文件.我想授予用户访问权限以执行程序,但我不希望复制该程序.
我正在考虑制作一个简单的crypter应用程序,它将在运行时解密程序并从内存中运行它.
这可行吗?
我正在学习c ++继承,这里有一个问题.如果我在main.cpp文件中创建这个简单的代码,它将没有任何问题.
但是当我在头文件中分隔文件时,它将无法正常工作,它会给我一些错误.
这是名为book.h的头文件的代码
#ifndef BOOK_H
#define BOOK_H
class book
{
private:
string name;
public:
book(string n = "default") : name(n) {};
~book() {};
void printname();
};
#endif
Run Code Online (Sandbox Code Playgroud)
这里是book.cpp的代码,我在这个文件中定义了这个类的功能.
#include <iostream>
#include <Windows.h>
#include <string>
#include "book.h"
using namespace std;
void book::printname()
{
cout << name << endl;
return;
}
Run Code Online (Sandbox Code Playgroud)
最后是main.cpp文件:
#include <iostream>
#include <Windows.h>
#include <string>
#include "book.h"
using namespace std;
int main()
{
system("color 0A");
book programing("c++");
cout << "the name of the book is ";
programing.printname();
system("pause"); …Run Code Online (Sandbox Code Playgroud) 我正在尝试从 VSCode 开始使用颤振。我想我已经完成了所有正确的设置:
1) 在 VS code 上下载了 flutter 和 dart 和 codeRunner 的扩展
2)下载flutter SDK并添加路径
3)在没有医生的情况下运行 flutter doctor 并且没有错误

完成所有设置后,我尝试单击“运行代码”,并收到错误消息:“dart”未被识别为内部或外部命令。在阅读其他在线帖子后,我认为这是因为我只在我的路径中添加了 flutter SDK 而没有添加 dart SDK,所以我也在我的路径中添加了 dart SDK。
从那里,我再次尝试运行代码并收到以下错误:
lib/main.dart: Warning: Interpreting this as package URI, 'package:tranfer_app/main.dart'.
../../flutter/packages/flutter/lib/src/material/animated_icons.dart:9:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show Paint, Path, Canvas;
^
../../flutter/packages/flutter/lib/src/material/animated_icons.dart:10:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
../../flutter/packages/flutter/lib/src/material/app.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
^
../../flutter/packages/flutter/lib/src/material/app_bar_theme.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' …Run Code Online (Sandbox Code Playgroud)