char数组存在问题

Problems with char array

本文关键字:问题 存在 数组 char      更新时间:2023-10-16

我不想删除第一个字符。

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
using namespace std;
char name[10][80]={0};int i;
int main (){
for (i=0;i<10;i++){
    cin.ignore();
    cout<<"nIngrese el nombre N "<<i+1<<": ";cin.getline(name[i],80);      
}
for (i=0;i<10;i++){
    if(name[i]== ''){
    }else{
        cout<<"nEl nombre ingresado es: "<<name[i];
    }
}
getchar();
return 0;
}

由于某种原因,当我在屏幕上打印时,第一个字符被删除

示例:Leo Gutierrez

屏幕:eo Gutierrez

而不是cin.ignore()

你可以试试这个:

while(iswspace(cin.peek())) cin.ignore();// eat white... 

这意味着在输入之前跳过任何看不见的字符

但这不允许输入空字符串。

这将允许:

while(iswspace(cin.peek()) && cin.peek()!=10)  cin.ignore();

表示跳过除回车键以外的任何看不见的字符。

name[i]和address一样,从不等于0。所以我想你应该检查一下:

if(name[i][0]== '')