[英]Dynamic char field reading one char at the time
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
char * text = new char;
scanf("%c", text);
scanf("%c", text+1);
return 0;
}
抱歉,這個la腳的問題……我正在嘗試一次讀取一個字符的字符串(因為我需要為每個字符檢查sth。)對於輸入“ ab”,輸出為“ ab”,並且是隨機字符? 字符...如果沒有'scanf(“%c”,text + 1);',則無法使用 也可以..我可以使用靜態字段來執行此操作,但是此版本最終給了我一個額外的字符。.我在做什么錯? :'(
您分配一個char
給您指針text
。 然后,您可以訪問text[0]
和text[1]
,它們顯然會超出范圍。 我強烈建議您不要顯式訪問內存,而應使用std::string
,例如:
std::string text;
for (std::istreambuf_iterator<char> it(std::cin), end; it != end; ++it) {
// do whatever checks you need to do
text.push_back(*it);
}
std::cout << "read '" << text << "'\n";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.