从文本文件输入以获取字符C++
Input from a text file to get a char C++
我在.txt文件文本中的修饰符后获取输入时遇到问题。我想做的是,如果.txt文件有单词"type:",那么之后的任何内容都将放入字符中。到目前为止我的代码:
#include "stdafx.h"
#include <windows.h>
#include "VKH.h"
#include "Strmif.h"
#include <iostream>
#include <stdio.h>
#include <string>
#include <fstream>
void GetDocumentandRead() {
string line;
ifstream myfile (line1);
if (myfile.is_open())
{
while ( !myfile.eof() )
{
getline (myfile,line);
char aline[100];
strcpy(aline, line.c_str());
printf(aline, "n");
if (line.compare("mouseup") == 0){
MouseUp(10);
}
if (line.compare("mousedown") == 0){
MouseDown(10);
}
if (line.compare("mouseright") == 0){
MouseRight(10);
}
if (line.compare("mouseleft") == 0){
MouseLeft(10);
}
if (line.compare("mouseclick") == 0){
MouseClick();
}
if (line.compare("enter") == 0){
Enter();
}
if (line.compare("ctrltab") == 0){
CtrlTab();
}
if (line.compare("tab") == 0){
Tab();
}
if (line.compare("altf4") == 0){
AltF4(0);
}
if (line.compare("alttab") == 0){
AltTab();
}
if (line.compare("mousecenter") == 0){
MouseCenter();
}
if (line.compare(6,5,"type:") == 0){
//Don't know what to put here...
}
}
myfile.close();
}
else printf("nUnable to open filenn");
}
因此,在文本文件中的"type:"之后,它将使用我称为TypeStr()的函数键入该函数;
void TypeStr(char *lpszString)
{
char cChar;
while((cChar=*lpszString++)) // loops through chars
{
short vk=VkKeyScan(cChar); // keycode of char
if((vk>>8)&1){keybd_event(VK_LSHIFT,0,0,0);} // hold shift if necessary
keybd_event((unsigned char)vk,0,0,0); // key in
keybd_event((unsigned char)vk,0,KEYEVENTF_KEYUP,0); // key out
if((vk>>8)&1){keybd_event(VK_LSHIFT,0,KEYEVENTF_KEYUP,0);} // release shift if necessary
}
}
任何帮助将不胜感激。谢谢!
首先,您应该重写TypeStr
函数,以便它需要const char *
。喜欢这个
void TypeStr(const char *lpszString)
{
...
}
无需其他更改。
然后你应该像这样从你的代码中调用该函数
if (line.compare(6,5,"type:") == 0){
TypeStr(line.c_str() + 11);
}
您必须将TypeStr
函数更改为const char*
(除了它是一般的良好样式)的原因是std::string
c_str()
方法返回const char*
而不是char*
。
相关文章:
- 有没有办法通过使用十进制 ASCII 代码自动类型扣除来获取字符?
- 如何获取C++字符数据类型的地址
- CPP:如何获取字符的最后一个索引
- 试图在重载函数中获取字符和字符串的输入
- C++使用第二个函数获取字符数组的长度
- 如何获取字符*的实际长度?strlen 和 sizeof(target)/sizeof(target*)之间的区别?
- 如何获取字符并将其转换为字符串?C++
- 如何在C++中从字符串指针中获取字符
- 获取字符数组地址,然后转换为指针字符
- 使用指针在字符串中获取字符的位置
- 获取字符数组C++数
- 使用scanf()在数组中获取字符(不与空格分开)
- "Error: expected a '{' introducing a lambda body"尝试从地图<字符,字符中获取字符时> C++
- 从文本文件输入以获取字符C++
- 使用getchar()获取字符并将其保存到每次C 的新行中的文件中
- 需要帮助从文件中获取字符和整数数据
- 如何获取字符C++像素
- 如何获取字符*(字符数组)的真实长度和总长度
- 从文件而不是getchar中获取字符
- 从流 C++ 获取字符