getline(cin, temp)
时间: 2024-04-01 18:29:10 浏览: 42
getline(cin, temp)是C++中的一个函数,用于从标准输入流(cin)中读取一行字符串,并将其存储到指定的字符串变量temp中。
该函数的语法如下:
getline(cin, temp);
其中,cin是标准输入流对象,temp是一个字符串变量,用于存储读取到的字符串。
getline函数会读取一行用户输入的字符串,直到遇到换行符('\n')为止。它会将读取到的字符串存储到temp中,并丢弃换行符。
使用getline函数可以方便地获取用户输入的一整行字符串,而不受空格或其他特殊字符的影响。
相关问题
#include <cstdio> #include <algorithm> #include <iostream> using namespace std; int main() { string temp; while(getline(cin,temp)) { reverse(temp.begin(),temp.end()); cout<<temp<<endl; } return 0; }将这个c++的代码改为c语言的代码
好的,下面是将上述代码改写为 C 语言的版本:
```c
#include <stdio.h>
#include <string.h>
int main() {
char temp[201];
while (fgets(temp, 201, stdin)) {
int len = strlen(temp);
for (int i = len - 2; i >= 0; i--) {
printf("%c", temp[i]);
}
printf("\n");
}
return 0;
}
```
在这个版本中,我们使用了 C 语言的标准库函数 `fgets` 来读取输入的字符串。这个函数会读取一行字符串,最多读取 200 个字符(其中一个字符用于存储字符串末尾的空字符 `\0`)。
接着,我们使用 `strlen` 函数获取字符串的长度,并使用 `for` 循环将字符串逆序输出。需要注意的是,由于 `fgets` 函数会将换行符也读入字符串中,因此在输出时需要将最后一个字符(即换行符)忽略。
最后,我们使用 `printf` 函数输出字符串和换行符。
这样,我们就将 C++ 代码改写为了 C 代码,实现了将输入的字符串逆置输出的功能。
#include<bits/stdc++.h> using namespace std; int main() { int num,i,j,t,k; cin>>num; vector<string> line(num); cin.ignore(); for(i=0;i<num;i++) { getline(cin,line[i]); } cin>>k; int temp[k]; for(i=0;i<k;i++) { cin>>t; temp[i]=t; } for(i=0;i<k;i++) { for(j=0;j<num;j++) { if(line[j][17]-'0'==temp[i]) { cout<<line[j].substr(0,17)<<line[j][19]<<endl; } } } }
这段代码是一个简单的C++程序,它的功能是从输入中读取一些字符串并进行一些处理。首先,它会读取一个整数num,表示接下来要输入的字符串的数量。然后,使用循环读取num个字符串,并将它们存储在名为line的vector中。接下来,它会读取一个整数k,表示要查询的次数。然后,使用循环读取k个整数,并将它们存储在名为temp的数组中。
最后,使用两个嵌套循环进行查询。外层循环遍历temp数组中的每个元素,内层循环遍历line数组中的每个字符串。如果line[j]的第18个字符转换为整数等于temp[i],则输出line[j]的前17个字符和第19个字符。
请注意,在读取num后,使用了cin.ignore()来忽略掉输入流中的换行符,以便正确读取后续的字符串。
这段代码可能是用于处理一些特定格式的数据,但没有提供足够的上下文信息来确定确切的用途。如果您有更多的问题,请随时提问。
阅读全文