gpt4 book ai didi

c++ - 如何将键盘输入读取为字符串? (C++)

转载 作者:行者123 更新时间:2023-11-27 23:35:04 27 4
gpt4 key购买 nike

getc(stdin) 读取键盘输入为整数,但如果我想将键盘输入读取为字符串怎么办?

#include "stdafx.h"
#include "string.h"
#include "stdio.h"
void CharReadWrite(FILE *fin);
FILE *fptr2;

int _tmain(int argc, _TCHAR* argv[])
{

char alpha= getc(stdin);
char filename=alpha;
if (fopen_s( &fptr2, filename, "r" ) != 0 )
printf( "File stream %s was not opened\n", filename );
else
printf( "The file %s was opened\n", filename );
CharReadWrite(fptr2);
fclose(fptr2);
return 0;
}
void CharReadWrite(FILE *fin){
int c;
while ((c=fgetc(fin)) !=EOF) {
putchar(c);}
}

最佳答案

继续 getc 的主题,您可以使用 fgets 将一行输入读入字符缓冲区。

例如

char buffer[1024];
char *line = fgets(buffer, sizeof(buffer), stdin);
if( !line ) {
if( feof(stdin) ) {
printf("end of file\n");
} else if( ferror(stdin) ) {
printf("An error occurerd\n");
exit(0);
}
} else {
printf("You entered: %s", line);
}

请注意,ryansstack 的答案是更好、更简单和更安全的解决方案,因为您使用的是 C++。

关于c++ - 如何将键盘输入读取为字符串? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1146132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com