簡體   English   中英

動態char字段一次讀取一個char

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM