c++,不使用scanf,将回车写入字符的方式
时间: 2023-05-27 10:05:47 浏览: 51
可以使用以下方式将回车写入字符:
```c
char c = getchar();
if (c == '\n') {
// 处理回车的情况
}
```
使用getchar()函数可以从标准输入读取一个字符,并将其存储在变量c中。然后可以将c与回车符'\n'进行比较,以判断是否输入了回车。如果输入了回车,就可以在if语句中处理回车的情况。
相关问题
c++,不使用scanf,getchar(),将回车写入字符的方式
可以使用以下方法将回车写入字符:
1. 使用指针和字符数组:
```c
char str[100];
char *ptr = str;
*ptr = 'a';
ptr++;
*ptr = 'b';
ptr++;
*ptr = '\n'; // 写入回车
ptr++;
*ptr = 'c';
ptr++;
*ptr = '\0';
printf("%s", str);
```
2. 使用数组下标:
```c
char str[100];
str[0] = 'a';
str[1] = 'b';
str[2] = '\n'; // 写入回车
str[3] = 'c';
str[4] = '\0';
printf("%s", str);
```
注意:以上两种方法中,必须在字符串末尾加上'\0',否则输出会出现乱码。
@Filename: ex801.c @Author: 鞠成东 @Version: 1.0 @Date: 2021-03-18 @Description: 文件字符读写 / #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char argv[]){ /(1)声明函数及变量/ int writeToFile(char str, char fileName, char mode); char str[100]; char 文件名[] = “ex801.txt”; /(2)获取键盘输入字串/ fgets(str, 100, stdin);得到(str);将回车看作字串输入结束标志,字串中可以有空格 //scanf(“%s”, str);将空格看作字串输入结束标志,字串中不能有空格 /(3)将字串写入文件*/ int charNum = writeToFile(str, fileName, “w”);if(charNum < 0){ //printf(“write error”);//用于调试 return -1; } return 0;} /* * 函数名称:writeToFile * 函数功能:将字串写入文件 * 形式参数:char *str,一维字符数组(字符串)首地址 * 形式参数:char *fileName,待写入的文件路径及名称 * 形式参数:char *mode,文件使用方式 * 返 回 值:int型,若文件打开异常,返回 -1;否则返回写入到文件的字符数 */ int writeToFile(char *str, char *fileName, char *mode){ // 请用C++编程实现本函数 }
抱歉,这段代码是用C语言写的,不是C++。如果你想用C++实现写入文件的功能,可以使用C++中的ofstream类来代替C语言中的文件操作函数。以下是一个用C++实现写入文件的示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string str;
ofstream outfile("ex801.txt"); // 打开文件
if (!outfile) { // 判断文件是否打开成功
cerr << "Error: unable to open file" << endl;
return -1;
}
getline(cin, str); // 获取键盘输入
outfile << str; // 将字符串写入文件
outfile.close(); // 关闭文件
return 0;
}
```
在这个示例代码中,我们使用了C++中的ofstream类来打开文件,并使用getline函数获取键盘输入字符串。然后,我们将字符串写入文件,并使用close函数关闭文件。如果文件打开失败,程序将输出错误信息并返回-1。